def test_white_capture_en_passant(): g = BerkeleyGame() g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E2, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G8, chess.H6))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E4, chess.E5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.F7, chess.F5))) assert g.ask_for(KSMove(QA.COMMON, chess.Move( chess.E5, chess.F6))) == KSAnswer(MA.CAPTURE_DONE, capture_at_square=chess.F5)
def test_black_from_check_false(): g = BerkeleyGame() g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E2, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E7, chess.E5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D1, chess.H5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D7, chess.D5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.H5, chess.G6))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D5, chess.E4))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G6, chess.F7))) assert g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.E7))) == KSAnswer(MA.ILLEGAL_MOVE)
def test_black_from_check_true_and_capture(): g = BerkeleyGame() g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E2, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E7, chess.E5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D1, chess.H5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D7, chess.D5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.H5, chess.G6))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D5, chess.E4))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G6, chess.F7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.E7))) assert g.ask_for(KSMove(QA.COMMON, chess.Move( chess.E8, chess.F7))) == KSAnswer(MA.CAPTURE_DONE, capture_at_square=chess.F7)
def test_black_any_true_en_passant(): g = BerkeleyGame() g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E2, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E7, chess.E5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D1, chess.H5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D7, chess.D5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.H5, chess.G6))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D5, chess.E4))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G6, chess.F7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.E7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.F7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G1, chess.F3))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E4, chess.E3))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.F3, chess.G1))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E5, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.F2, chess.F4))) assert g.ask_for(KSMove(QA.ASK_ANY)) == KSAnswer(MA.HAS_ANY)
def test_black_capture_en_passant(): g = BerkeleyGame() g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E2, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E7, chess.E5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D1, chess.H5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D7, chess.D5))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.H5, chess.G6))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.D5, chess.E4))) g.ask_for(KSMove(QA.ASK_ANY)) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G6, chess.F7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.E7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E8, chess.F7))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.G1, chess.F3))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E4, chess.E3))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.F3, chess.G1))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.E5, chess.E4))) g.ask_for(KSMove(QA.COMMON, chess.Move(chess.F2, chess.F4))) g.ask_for(KSMove(QA.ASK_ANY)) assert g.ask_for(KSMove(QA.COMMON, chess.Move( chess.E4, chess.F3))) == KSAnswer(MA.CAPTURE_DONE, capture_at_square=chess.F4)