public static void TestInvalidMoveWhitePawn_2StepsBlockingPiece()
{
Piece[][] board = new Piece[8][]
{
new[] { kw, o, kb, 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, pb, o, o, o },
new[] { o, o, o, o, pw, o, o, o },
new[] { o, o, o, o, o, o, o, o }
};
ChessGame cb = new ChessGame(board, Player.White);
Move move = new Move(new Position(File.E, 2), new Position(File.E, 4), Player.White);
Assert.False(cb.IsValidMove(move), "move should be invalid");
}