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()