public static void TestChessGameFenConstructorAfter1e4()
{
ChessGame game = new ChessGame("rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 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, pw, o, o, o },
new[] { o, o, o, o, o, o, o, o },
new[] { pw, pw, pw, pw, o, 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(new Position("E2"), game.Moves[game.Moves.Count - 1].OriginalPosition);
Assert.AreEqual(new Position("E4"), game.Moves[game.Moves.Count - 1].NewPosition);
Assert.AreEqual(Player.White, game.Moves[game.Moves.Count - 1].Player);
Assert.AreEqual(Player.Black, game.WhoseTurn);
}