コード例 #1
0
 def test_looking_up_event_by_name_successfully(self):
     start_state = State(name='start')
     busy_state  = State(name='busy')
     do_work_event = Event(name='do_work', source_states=[start_state], destination_state=busy_state)
     
     fsm = StateMachine(states=[start_state, busy_state], events=[do_work_event], initial_state=start_state)
     
     found_event = fsm.event_by_name('do_work')
     
     assert found_event == do_work_event
コード例 #2
0
 def test_looking_up_event_by_name_returning_not_found(self):
     start_state = State(name='start')
     busy_state  = State(name='busy')
     do_work_event = Event(name='do_work', source_states=[start_state], destination_state=busy_state)
     
     fsm = StateMachine(states=[start_state, busy_state], events=[do_work_event], initial_state=start_state)
     
     with pytest.raises(StateMachineError) as context_manager:
         found_event = fsm.event_by_name('more_work')
     
     expected_exception = context_manager.value
     assert expected_exception.identifier == STATE_MACHINE.EVENT_NOT_FOUND_IDENTIFIER