コード例 #1
0
ファイル: test_tfa.py プロジェクト: deets/brombeerquark
 def test_epsilon_transition_is_triggered_automatically(self):
     a = TimedFiniteAutomaton("start")
     a.add_state("end")
     a.add_transition("start", "end", "event")
     a.add_transition("end", "start")
     a.feed("event")
     self.assertEqual("start", a.state)
コード例 #2
0
ファイル: test_tfa.py プロジェクト: deets/brombeerquark
 def test_normal_and_timed_transitions_mix(self):
     a = TimedFiniteAutomaton("start")
     a.add_state("a")
     a.add_state("b")
     a.add_transition("start", "a", "foo")
     a.add_transition("start", "b", 1.0)
     a.feed("foo")
     self.assertEqual("a", a.state)
コード例 #3
0
ファイル: test_tfa.py プロジェクト: deets/brombeerquark
 def test_callback_called_on_transition_to_self_on_event(self):
     a = TimedFiniteAutomaton("start")
     a.add_transition("start", "start", "event")
     transitions = []
     a.add_state_change_listener(lambda *a: transitions.append(a))
     a.feed("event")
     self.assertEqual(
         [("start", "start", "event")],
         transitions,
     )
コード例 #4
0
ファイル: test_tfa.py プロジェクト: deets/brombeerquark
 def test_adding_transition_and_walking_it(self):
     a = TimedFiniteAutomaton("start")
     a.add_state("end")
     a.add_transition("start", "end", "event")
     a.feed("event")
     self.assertEqual("end", a.state)