def test_getstatus1(self): """Testing bare black king is not draw in Atomic variant""" board = AtomicBoard(setup=FEN2) board = board.move(parseSAN(board, 'Qxc2')) print(board) self.assertEqual(getStatus(board), (BLACKWON, WON_KINGEXPLODE))
def test_validate2(self): """Testing explode king vs mate in Atomic variant""" board = AtomicBoard(setup=FEN1) board = board.move(parseSAN(board, 'Nc7+')) print(board) # King explosion takes precedence over mate! self.assertTrue(validate(board, parseSAN(board, 'Qxd2'))) self.assertTrue(validate(board, parseSAN(board, 'Qxf2'))) self.assertTrue(not validate(board, parseSAN(board, 'Qxb2'))) self.assertTrue(not validate(board, parseSAN(board, 'Qe4+')))
def test_validate1(self): """Testing castling rights lose in explosion in Atomic variant""" board = AtomicBoard(setup=FEN1) board = board.move(parseSAN(board, 'Nxa7')) print(board) # Rook exploded, no O-O-O anymore! self.assertTrue(validate(board, parseSAN(board, 'b6'))) self.assertTrue(not validate(board, parseSAN(board, 'a6'))) self.assertTrue(not validate(board, parseSAN(board, 'Rb8'))) self.assertTrue(not validate(board, parseSAN(board, 'O-O-O')))