def testExtraListenerWithDynamicAndPredefinedArguments(self): self.called = [] self.args = [] class Listener: post="" def enter_a(s, *a): self.called.append("enter_a"+s.post); self.args += a m = StateMachine(Listener()) l2 = Listener() l2.post = "2" m.addListener(l2, "foo", "bar", 1234) m.set("a", "meh") self.assertEquals(self.called, ["enter_a", "enter_a2"]) self.assertEquals(self.args, ["meh", "foo", "bar", 1234, "meh" ])
def testExtraListener(self): self.called = [] class Listener: post="" def enter_a(s): self.called.append("enter_a"+s.post) def exit_a(s): self.called.append("exit_a"+s.post) def enter_b(s): self.called.append("enter_b"+s.post) def exit_b(s): self.called.append("exit_b"+s.post) m = StateMachine(Listener()) l2 = Listener() l2.post = "2" m.addListener(l2) m.set("a") self.assertEquals(self.called, ["enter_a", "enter_a2"]) m.set("b") self.assertEquals(self.called, ["enter_a", "enter_a2", "exit_a2", "exit_a", "enter_b", "enter_b2"])