public static void TestInequality_DifferentPromotion()
{
Position position1 = new Position(File.A, 7);
Position position2 = new Position(File.A, 8);
Move move1 = new Move(position1, position2, Player.White, 'Q');
Move move2 = new Move(position1, position2, Player.White, 'N');
Assert.AreNotEqual(move1, move2, "move1 and move2 should not be equal");
Assert.False(move1.Equals(move2), "move1.Equals(move2) should be false");
Assert.False(move2.Equals(move1), "move2.Equals(move1) should be false");
Assert.True(move1 != move2, "move1 != move2 should be true");
Assert.True(move2 != move1, "move2 != move1 should be true");
Assert.False(move1 == move2, "move1 == move2 should be false");
Assert.False(move2 == move1, "move2 == move1 should be false");
Assert.AreNotEqual(move1.GetHashCode(), move2.GetHashCode());
}