def testAll(self): board = Board(setup=True) dsa = DecisionSupportAlgorithm() dsa.set_foe_as_bot() dsa.enableDisableAlgo(True) moves = ((cordDic["e2"], cordDic["e4"]), (cordDic["d7"], cordDic["d5"])) for cord0, cord1 in moves: board = board.move(Move(Cord(cord0), Cord(cord1), board)) board.printPieces() # Not protected self.assertEqual( set([ Cord("a1", color="Y"), Cord("h1", color="Y"), Cord("e4", color="R") ]), set(dsa.calculate_coordinate_in_danger(board, WHITE))) # protected by Queen, so no danger self.assertEqual(set([Cord("a8", color="Y"), Cord("h8", color="Y")]), set(dsa.calculate_coordinate_in_danger(board, BLACK))) # pawn go forward, no danger board = board.move(Move(Cord(E4), Cord(E5), board)) self.assertEqual( set([ Cord("a1", color="Y"), Cord("h1", color="Y"), Cord("e5", color="Y") ]), set(dsa.calculate_coordinate_in_danger(board, WHITE))) # Should not recognize king board_king = Board(setup=True) dsa_king = DecisionSupportAlgorithm() dsa_king.set_foe_as_bot() dsa_king.enableDisableAlgo(True) moves = ((cordDic["e2"], cordDic["e4"]), (cordDic["f7"], cordDic["f5"]), (cordDic["d1"], cordDic["h5"])) for cord0, cord1 in moves: board_king = board_king.move( Move(Cord(cord0), Cord(cord1), board_king)) # board_king.printPieces() self.assertEqual( set([ Cord("a8", color="Y"), Cord("h8", color="Y"), Cord("f5", color="Y") ]), set(dsa.calculate_coordinate_in_danger(board_king, BLACK)))
def test1(self): """ Testing Board.move() on frc castling in non frc game """ board = Board(setup=True) moves = ((D2, D4), (G8, F6), (C2, C4), (G7, G6), (G2, G3), (F8, G7), (F1, G2), (E8, H8)) for cord0, cord1 in moves: print(cord0, cord1) board = board.move(Move(Cord(cord0), Cord(cord1), board)) board.printPieces() self.assertIsNone(board[Cord(E8)]) self.assertIsNone(board[Cord(H8)]) self.assertEqual(board[Cord(G8)].piece, Piece(BLACK, KING).piece) self.assertEqual(board[Cord(F8)].piece, Piece(BLACK, ROOK).piece)