public void GetCheckEvasionPinningPiecesMoves_PawnsTwoSquares() { // arrange var white = new Side("G1", new PieceSet<Queen>(Bitboard.With.A5), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(), new WhitePawns()); var black = new Side("H5", new PieceSet<Queen>(), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(), new BlackPawns(Bitboard.With.G7)); // act var moves = black.GetCheckEvasionPinningPiecesMoves(white); // assert moves.Should().Have.SameSequenceAs( new Move("G7", "G5") ); }
public void GetCheckEvasionPinningPiecesMoves_Rooks() { // arrange var white = new Side("G1", new PieceSet<Queen>(Bitboard.With.D1), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(), new WhitePawns()); var black = new Side("D8", new PieceSet<Queen>(), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(Bitboard.With.B3.G7.A1), new BlackPawns()); // act var moves = black.GetCheckEvasionPinningPiecesMoves(white); // assert moves.Should().Have.SameSequenceAs( new Move("A1", "D1"), new Move("B3", "D3"), new Move("G7", "D7") ); }
public void GetCheckEvasionPinningPiecesMoves_PawnsCapture() { // arrange var white = new Side("G1", new PieceSet<Queen>(Bitboard.With.A5), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(), new WhitePawns()); var black = new Side("H5", new PieceSet<Queen>(), new PieceSet<Bishop>(), new PieceSet<Knight>(), new PieceSet<Rook>(), new BlackPawns(Bitboard.With.B6)); // act IEnumerable<Move> moves = black.GetCheckEvasionPinningPiecesMoves(white); // assert moves.Should().Have.SameSequenceAs( new Move("B6", "B5"), new Move("B6", "A5") ); }