def test_get_free_points(self): goban = Goban((2, 2)) state = GameState(goban) self.assertSetEqual(state.get_free_points(), {(0, 0), (0, 1), (1, 0), (1, 1)}) state._state[(0, 0)] = GameState.BLACK self.assertSetEqual(state.get_free_points(), {(0, 1), (1, 0), (1, 1)})
def test_try_make_move(self): goban = Goban((3, 3)) state = GameState(goban) player = CleverVirtualPlayer(state.GREY) state._turn = state.GREY points = state.get_free_points() move = player.try_make_move(state, 60) self.assertEqual(move[0], True) self.assertTrue(move[1] in points) string = ''' ..X ... ... ''' state = GameState.convert_string_to_state(string, '\n ') state._turn = state.GREY move = player.try_make_move(state, 60) self.assertEqual(move[0], True) self.assertTrue(move[1] in [(1, 0), (2, 1)]) string = ''' .X. O.X .O. ''' state = GameState.convert_string_to_state(string, '\n ') state._turn = state.GREY self.assertEqual(player.try_make_move(state, 60), (False, None, 0))