Example #1
0
    def test_invalid_action_exception(self):
        avatar = """
def next_turn(world_map, avatar_state):
    new_dir = random.choice(direction.ALL_DIRECTIONS)
                  """
        runner = AvatarRunner(code_updater=CodeUpdater())
        runner.avatar, _ = runner.code_updater.update_avatar(src_code=avatar)
        with self.assertRaises(InvalidActionException):
            runner.decide_action(world_map={}, avatar_state={})
Example #2
0
 def test_does_not_update_with_imports(self):
     avatar = """class Avatar:
                     def next_turn(self, world_map, avatar_state):
                         import os
                         return MoveAction(random.choice(direction.ALL_DIRECTIONS))
               """
     runner = AvatarRunner(code_updater=CodeUpdater())
     runner.avatar, _ = runner.code_updater.update_avatar(src_code=avatar)
     with self.assertRaises(ImportError):
         runner.decide_action(world_map={}, avatar_state={})