diff options
author | Bryan Bishop <kanzure@gmail.com> | 2013-11-09 15:08:04 -0600 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2013-11-09 15:08:04 -0600 |
commit | 11664e2ac6660a706e1241b543121822fd40166d (patch) | |
tree | c711ce21e08052cd34e4fa628fcf7f386b865050 | |
parent | 6a1699d32e6fb88401bd3079a5c1ddcf4e8711f5 (diff) |
a basic battle test
-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() |