public static void TestValidMoveBlackKing_QueensideCastling_WouldNotPassThroughCheck()
{
Piece[][] board = new Piece[8][]
{
new[] { rb, o, o, o, kb, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { o, rw, o, o, kw, o, o, o }
};
ChessGame cb = new ChessGame(board, Player.Black);
Move move1 = new Move(new Position(File.E, 8), new Position(File.C, 8), Player.Black);
Assert.True(cb.IsValidMove(move1), "move1 should be valid");
}