예제 #1
0
 def test_never_finished_if_final_is_unspecified(self):
     fsm = Fysom({
         'initial':
         'green',
         'events': [{
             'name': 'warn',
             'src': 'green',
             'dst': 'yellow'
         }, {
             'name': 'panic',
             'src': 'yellow',
             'dst': 'red'
         }, {
             'name': 'calm',
             'src': 'red',
             'dst': 'yellow'
         }, {
             'name': 'clear',
             'src': 'yellow',
             'dst': 'green'
         }]
     })
     self.assertFalse(fsm.is_finished())
     fsm.warn()
     self.assertFalse(fsm.is_finished())
     fsm.panic()
     self.assertFalse(fsm.is_finished())
예제 #2
0
 def test_it_should_indicate_whether_fsm_in_finished_state(self):
     fsm = Fysom({
         'initial':
         'green',
         'final':
         'red',
         'events': [{
             'name': 'warn',
             'src': 'green',
             'dst': 'yellow'
         }, {
             'name': 'panic',
             'src': 'yellow',
             'dst': 'red'
         }, {
             'name': 'calm',
             'src': 'red',
             'dst': 'yellow'
         }, {
             'name': 'clear',
             'src': 'yellow',
             'dst': 'green'
         }]
     })
     self.assertFalse(fsm.is_finished())
     fsm.warn()
     self.assertFalse(fsm.is_finished())
     fsm.panic()
     self.assertTrue(fsm.is_finished())
예제 #3
0
 def test_never_finished_if_final_is_unspecified(self):
     fsm = Fysom({
         'initial': 'green',
         'events': [
             {'name': 'warn', 'src': 'green', 'dst': 'yellow'},
             {'name': 'panic', 'src': 'yellow', 'dst': 'red'},
             {'name': 'calm', 'src': 'red', 'dst': 'yellow'},
             {'name': 'clear', 'src': 'yellow', 'dst': 'green'}
         ]
     })
     self.assertFalse(fsm.is_finished())
     fsm.warn()
     self.assertFalse(fsm.is_finished())
     fsm.panic()
     self.assertFalse(fsm.is_finished())
예제 #4
0
 def test_it_should_indicate_whether_fsm_in_finished_state(self):
     fsm = Fysom({
         'initial': 'green',
         'final': 'red',
         'events': [
             {'name': 'warn', 'src': 'green', 'dst': 'yellow'},
             {'name': 'panic', 'src': 'yellow', 'dst': 'red'},
             {'name': 'calm', 'src': 'red', 'dst': 'yellow'},
             {'name': 'clear', 'src': 'yellow', 'dst': 'green'}
         ]
     })
     self.assertFalse(fsm.is_finished())
     fsm.warn()
     self.assertFalse(fsm.is_finished())
     fsm.panic()
     self.assertTrue(fsm.is_finished())
예제 #5
0
 def test_final_kwarg(self):
     fsm = Fysom(initial='eternity', final='eternity')
     self.assertEqual(fsm.current, 'eternity')
     self.assertEqual(fsm.is_finished(), True)
예제 #6
0
 def test_final_kwarg(self):
     fsm = Fysom(initial='eternity', final='eternity')
     self.assertEqual(fsm.current, 'eternity')
     self.assertEqual(fsm.is_finished(), True)