fsmtest.py(.html)
#!/usr/local/bin/python
# Test the Finite State Machine Module.
import fsm
x=fsm.fsm()
x.set_var("count", 0)
x.add_transition("0", "1", "print 0, self.get_var('count')", "1")
x.add_transition("1", "1", "print 1, self.get_var('count')", "2")
x.add_transition("2", "self.get_var('count') < 4",
"""print 2, self.get_var('count'); self.set_var('count',
self.get_var('count')
+ 1)""",
"0")
x.add_transition("2", "self.get_var('count') >= 4",
"print 2, self.get_var('count')", "3")
x.add_transition("3", "1", "print 3, self.get_var('count')", "0")
x.check()
x.set_start("0")
x.reset()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()
x.step()