summaryrefslogtreecommitdiff
path: root/tests/test_vba.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_vba.py')
-rw-r--r--tests/test_vba.py31
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()