def test_3(self): bstr = "...o......,....x.....,.....x....,..o...o..." b = Board() b.set_board(bstr) self.assertCountEqual([(3, 0, Checker(BLACK)), (2, 3, Checker(BLACK)), (6, 3, Checker(BLACK)), (4, 1, Checker(WHITE)), (5, 2, Checker(WHITE))], b.get_checkers())
def test_1(self): bstr = "x" b = Board() b.set_board(bstr) # https://docs.python.org/3.2/library/unittest.html#unittest.TestCase.assertCountEqual # tests if list have same elements self.assertCountEqual([(0, 0, Checker(WHITE))], b.get_checkers())
def _board_value(board: Board, color: bool) -> int: """ Returns value of the board. Value is calculated as +1 for each checker of given color and -1 for each checker of other color. :param board: :param color: :return: """ total = 1 for (x, y, checker) in board.get_checkers(): total += (+1 if checker.color == color else -1) * (5 if checker.crowned else 1) return total
def test_2(self): bstr = ".....o" b = Board() b.set_board(bstr) self.assertCountEqual([(5, 0, Checker(BLACK))], b.get_checkers())