public static void TestGetValidMovesBlackPawn()
{
Piece[][] board = new Piece[8][]
{
new[] { kw, 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, kb, o, o, o, o },
new[] { o, pb, o, o, o, o, o, o },
new[] { pw, o, pw, o, o, o, o, o },
new[] { o, o, o, o, o, o, o, o }
};
ChessGame cb = new ChessGame(board, Player.Black);
ReadOnlyCollection<Move> actual = cb.GetValidMoves(new Position(File.B, 3));
List<Move> expected = new List<Move>()
{
new Move("B3", "B2", Player.Black),
new Move("B3", "A2", Player.Black),
new Move("B3", "C2", Player.Black)
};
Assert.AreEqual(expected.Count, actual.Count);
foreach (Move move in expected)
{
Assert.True(actual.Contains(move), "Actual does not contain " + move.ToString());
}
}