public static void TestChessGameFenConstructorStartPosition()
{
ChessGame game = new ChessGame("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1");
Piece[][] expected = new Piece[8][]
{
new[] { rb, nb, bb, qb, kb, bb, nb, rb },
new[] { pb, pb, pb, pb, pb, pb, pb, pb },
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[] { pw, pw, pw, pw, pw, pw, pw, pw },
new[] { rw, nw, bw, qw, kw, bw, nw, rw }
};
Assert.AreEqual(expected, game.GetBoard());
Assert.AreEqual(0, game.HalfMoveClock);
Assert.AreEqual(1, game.FullMoveNumber);
Assert.AreEqual(Player.White, game.WhoseTurn);
Assert.True(game.CanBlackCastleKingSide);
Assert.True(game.CanBlackCastleQueenSide);
Assert.True(game.CanWhiteCastleKingSide);
Assert.True(game.CanWhiteCastleQueenSide);
}