コード例 #1
0
 def test_in_state_by_name_for_an_invalid_state(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=set([start_state, busy_state]), 
                        events=set([do_work_event]), 
                        initial_state=start_state)
     
     fsm.activate()
     
     with pytest.raises(StateMachineError) as context:
         fsm.in_state_by_name('stop')
     
     expected_exception = context.value
     assert expected_exception.identifier == STATE_MACHINE.STATE_NOT_FOUND_IDENTIFIER
コード例 #2
0
 def test_in_state_by_name_for_wrong_current_state(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=set([start_state, busy_state]), 
                        events=set([do_work_event]), 
                        initial_state=start_state)
     
     fsm.activate()
     
     assert fsm.in_state_by_name('busy') == False