summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-11-09 15:08:04 -0600
committerBryan Bishop <kanzure@gmail.com>2013-11-09 15:08:04 -0600
commit11664e2ac6660a706e1241b543121822fd40166d (patch)
treec711ce21e08052cd34e4fa628fcf7f386b865050
parent6a1699d32e6fb88401bd3079a5c1ddcf4e8711f5 (diff)
a basic battle test
-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()