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