public static void TestChessGameFenConstructorPartialCastlingRights()
{
ChessGame game = new ChessGame("rnbqkbn1/pppppppr/7p/8/4P3/5N2/PPPP1PPP/RNBQKB1R w KQq - 2 3");
Piece[][] expected = new Piece[8][]
{
new[] { rb, nb, bb, qb, kb, bb, nb, o },
new[] { pb, pb, pb, pb, pb, pb, pb, rb },
new[] { o, o, o, o, o, o, o, pb },
new[] { o, o, o, o, o, o, o, o },
new[] { o, o, o, o, pw, o, o, o },
new[] { o, o, o, o, o, nw, o, o },
new[] { pw, pw, pw, pw, o, pw, pw, pw },
new[] { rw, nw, bw, qw, kw, bw, o, rw }
};
Assert.AreEqual(expected, game.GetBoard());
Assert.AreEqual(2, game.HalfMoveClock);
Assert.AreEqual(3, game.FullMoveNumber);
Assert.False(game.CanBlackCastleKingSide);
}