diff options
| -rw-r--r-- | tests/test_vba.py | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/tests/test_vba.py b/tests/test_vba.py index b68e24b..13f1c2c 100644 --- a/tests/test_vba.py +++ b/tests/test_vba.py @@ -55,6 +55,29 @@ def bootstrap():      return state +def bootstrap_trainer_battle(): +    """ +    Start a trainer battle. +    """ +    # setup +    cry = vba.crystal(config=None) +    runner = autoplayer.SpeedRunner(cry=cry) + +    runner.skip_intro(skip=True) +    runner.handle_mom(skip=True) +    runner.walk_into_new_bark_town(skip=True) +    runner.handle_elm("totodile", skip=True) + +    # levelgrind a pokemon +    # TODO: make new_bark_level_grind able to figure out how to construct its +    # initial state if none is provided. +    runner.new_bark_level_grind(17, skip=True) + +    # TODO: figure out a better way to start a trainer battle :( +    runner.cry.start_trainer_battle_lamely() + +    return runner.cry.vba.state +  class OtherVbaTests(unittest.TestCase):      def test_keyboard_planner(self):          button_sequence = keyboard.plan_typing("an") @@ -302,5 +325,13 @@ class VbaTests(unittest.TestCase):              pname = self.cry.get_player_name().replace("@", "")              self.assertEqual(name, pname) +    def test_battle_is_player_turn(self): +        state = bootstrap_trainer_battle() +        self.cry.vba.state = state + +        battle = Battle(emulator=self.cry) + +        self.assertTrue(battle.is_player_turn()) +  if __name__ == "__main__":      unittest.main() | 
