def level3(): self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME1, VALUE1) self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) level4() self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None)
def add_effect(effect_id, *args, **kwargs): """If inside a side-effect, adds an effect to it.""" effect = fiber.get_stack_var(SIDE_EFFECT_TAG) if effect is None: return False effect.add_effect(effect_id, *args, **kwargs) return True
def level1(): self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) level2() self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None)
def level4(): self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME3, VALUE3) fiber.set_stack_var(NAME2, VALUE2) self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) fiber.break_fiber() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME3, VALUE3) self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) level5() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3)
def testStackVars(self): NAME1 = "__test__" VALUE1 = 42 NAME2 = "__test2__" VALUE2 = 66 NAME3 = "__test3__" VALUE3 = 18 def level1(): self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) level2() self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) def level2(): self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.break_fiber() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME2, VALUE2) self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) level3() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) def level3(): self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME1, VALUE1) self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) level4() self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) def level4(): self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME3, VALUE3) fiber.set_stack_var(NAME2, VALUE2) self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), VALUE2) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) fiber.break_fiber() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None) fiber.set_stack_var(NAME3, VALUE3) self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) level5() self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) def level5(): self.assertEqual(fiber.get_stack_var(NAME1), None) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), VALUE3) fiber.set_stack_var(NAME1, VALUE1) self.assertEqual(fiber.get_stack_var(NAME1), VALUE1) self.assertEqual(fiber.get_stack_var(NAME2), None) self.assertEqual(fiber.get_stack_var(NAME3), None)