def test_check_fork_error_example_1(self): for coord in [(1, 1, -2), (2, 1, -3), (-2, 0, 2), (-3, 1, 2), (-1, 0, 1), (0, 0, 0), (1, 2, -3), (0, 1, -1), (-3, 0, 3)]: self.board.take_action(HavannahAction(coord, Color.BLUE)) self.board.check_for_winner(HavannahAction((-3, 0, 3), Color.BLUE)) self.assertNotEqual(self.board.winner, Color.BLUE)
def setUp(self): super().setUp() self.game = Havannah(None) self.test_action = HavannahAction((0, 0, 0), Color.BLUE)
def test_check_ring_extended_ring(self): for coord in [(1, 0, -1), (0, 1, -1), (-1, 1, 0), (-1, 0, 1), (0, -1, 1), (1, -2, 1), (2, -1, -1), (2, -2, 0)]: # take action checks for rings self.board.take_action(HavannahAction(coord, Color.BLUE)) self.assertEqual(self.board.winner, Color.BLUE)
def test_check_ring_error_example_3(self): for coord in [(0, -1, 1), (-1, 1, 0), (-2, 1, 1), (-2, 0, 2), (-1, 0, 1)]: # take action checks for rings self.board.take_action(HavannahAction(coord, Color.BLUE)) self.assertNotEqual(self.board.winner, Color.BLUE)
def test_deepcopy_action_does_not_affect_original(self): action = HavannahAction((0, 0, 0), Color.BLUE) other_board = deepcopy(self.board) self.board.take_action(action) self.assertNotEqual(self.board.grid, other_board.grid)
def test_check_bridge_error_example_1(self): for coord in [(0, 3, -3), (0, 2, -2), (1, 2, -3)]: self.board.take_action(HavannahAction(coord, Color.BLUE)) self.board.check_for_winner(HavannahAction((1, 2, -3), Color.BLUE)) self.assertNotEqual(self.board.winner, Color.BLUE)
def test_check_fork_with_corner(self): for coord in [(-3, 0, 3), (-3, 1, 2), (-2, 1, 1), (-2, 2, 0), (-2, 3, -1)]: self.board.take_action(HavannahAction(coord, Color.BLUE)) self.board.check_for_winner(HavannahAction((-2, 3, -1), Color.BLUE)) self.assertNotEqual(self.board.winner, Color.BLUE)