public static void TestInequality_DifferentCastlingType()
{
DetailedMove move1 = new DetailedMove(new Position(File.E, 1), new Position(File.C, 1), Player.White, null, new King(Player.White), true, CastlingType.QueenSide);
DetailedMove move2 = new DetailedMove(new Position(File.E, 1), new Position(File.G, 1), Player.White, null, new King(Player.White), false, CastlingType.KingSide);
Assert.AreNotEqual(move1, move2, "move1 and move2 are 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 true");
Assert.False(move2 == move1, "move2 == move1 should be true");
Assert.AreNotEqual(move1.GetHashCode(), move2.GetHashCode());
}
}