public void GetCaptures_H5EnemiesG4_ReturnsNormalH5G4() { var bp = new BlackPawns(Bitboard.With.H5); var enemies = Bitboard.With.G4.Build(); bp.GetCaptures(enemies).Should().Have.SameSequenceAs( new Move("H5", "G4", MoveTypes.Normal)); }
public void GetCaptures_A5EnemiesB4_ReturnsNormalA5B4() { var bp = new BlackPawns(Bitboard.With.A5); var enemies = Bitboard.With.B4.Build(); bp.GetCaptures(enemies).Should().Have.SameSequenceAs( new Move("A5", "B4", MoveTypes.Normal)); }
public void GetCaptures_D5EnemiesD4E4_ReturnsNormalD5E4() { var bp = new BlackPawns(Bitboard.With.D5); var enemies = Bitboard.With.E4.D4.Build(); bp.GetCaptures(enemies).Should().Have.SameSequenceAs( new Move("D5", "E4", MoveTypes.Normal)); }
public void GetCapturesMoveBoard_PawnsInD4E4EnemyInF3_ReturnsF3() { var pawns = Bitboard.With.D4.E4.Build(); var enemy = Bitboard.With.F3.Build(); var wp = new BlackPawns(pawns); var result = wp.GetCapturesMoveBoard(Bitboard.Full, enemy, null); result.Should().Be(enemy); }
public void GetMovesOneSquareForward_A2_ReturnsPromotions() { var bp = new BlackPawns(Bitboard.With.A2); var m = bp.GetMovesOneSquareForward(); m.Should().Have.SameSequenceAs( new Move("A2", "A1", MoveTypes.PawnToQueenPromotion), new Move("A2", "A1", MoveTypes.PawnToRookPromotion), new Move("A2", "A1", MoveTypes.PawnToBishopPromotion), new Move("A2", "A1", MoveTypes.PawnToKnightPromotion)); }
public void GetMovesOneSquareForward_B5_ReturnsNormalB5B4() { var bp = new BlackPawns(Bitboard.With.B5); var moves = bp.GetMovesOneSquareForward(); moves.Should().Have.SameSequenceAs( new Move("B5", "B4", MoveTypes.Normal)); }
public void IsValid_PawnsInRank8_ReturnsFalse() { var p = new BlackPawns(Bitboard.With.A8); p.IsValid.Should().Be(false); }
public void IsValid_MoreThan8Pawns_ReturnsFalse() { var p = new BlackPawns( Bitboard.With.A3.B4.C5.D7.E3.G3.F4.H7.H2.Build()); p.IsValid.Should().Be(false); }
public void GetMovesTwoSquareForward_B7_ReturnsNormalB7B5() { var bp = new BlackPawns(Bitboard.With.B7); var moves = bp.GetMovesTwoSquaresForward(); moves.Should().Have.SameSequenceAs(new Move("B7", "B5", MoveTypes.Normal)); }
public void GetMovesTwoSquareForward_B7BlockedInB6_ReturnsNothing() { var bp = new BlackPawns(Bitboard.With.B7); var notblockers = Bitboard.With.B6.Build().Inverted; var moves = bp.GetMovesTwoSquaresForward(notblockers); moves.Should().Be.Empty(); }
public void GetMovesTwoSquareForward_B6_ReturnsNothing() { var bp = new BlackPawns(Bitboard.With.B6); var moves = bp.GetMovesTwoSquaresForward(); moves.Should().Be.Empty(); }
public void GetMovesOneSquareForward_BlockedB5_ReturnsNoMoves() { var bp = new BlackPawns(Bitboard.With.B5.Build().Inverted); var moves = bp.GetMovesOneSquareForward(Bitboard.With.B4); moves.Should().Be.Empty(); }