public static void TestValidMoveBlackKingHorizontal()
{
ChessGame cb = new ChessGame();
Move move1 = new Move(new Position(File.A, 2), new Position(File.A, 3), Player.White);
Move move2 = new Move(new Position(File.D, 7), new Position(File.D, 6), Player.Black);
Move move3 = new Move(new Position(File.H, 2), new Position(File.H, 3), Player.White);
Move move4 = new Move(new Position(File.D, 8), new Position(File.D, 7), Player.Black);
Move move5 = new Move(new Position(File.B, 2), new Position(File.B, 3), Player.White);
Move move6 = new Move(new Position(File.E, 8), new Position(File.D, 8), Player.Black);
cb.ApplyMove(move1, true);
cb.ApplyMove(move2, true);
cb.ApplyMove(move3, true);
cb.ApplyMove(move4, true);
cb.ApplyMove(move5, true);
Assert.True(cb.IsValidMove(move6), "move6 should be valid");
}