def test_composite_statechart_finished(self): statechart = Statechart(name='statechart') init = InitialState(statechart) final = FinalState(statechart) composite = CompositeState(name='composite', context=statechart) composite_init = InitialState(composite) composite_default = State(name='composite_default', context=composite) composite_final = FinalState(composite) finish = Event('finish') Transition(start=init, end=composite) Transition(start=composite_init, end=composite_default) Transition(start=composite_default, end=composite_final, event=finish) Transition(start=composite, end=final) statechart.start() assert statechart.is_active('composite') assert statechart.is_active('composite_default') assert not statechart.is_finished() statechart.dispatch(finish) assert statechart.is_finished()
def test_composite_statechart_finished(self): statechart = Statechart(name="statechart") init = InitialState(statechart) final = FinalState(statechart) composite = CompositeState(name="composite", context=statechart) composite_init = InitialState(composite) composite_default = State(name="composite_default", context=composite) composite_final = FinalState(composite) finish = Event("finish") Transition(start=init, end=composite) Transition(start=composite_init, end=composite_default) Transition(start=composite_default, end=composite_final, event=finish) Transition(start=composite, end=final) statechart.start() assert statechart.is_active("composite") assert statechart.is_active("composite_default") assert not statechart.is_finished() statechart.dispatch(finish) assert statechart.is_finished()
def test_simple_statechart_finished(self): statechart = Statechart(name='statechart') init = InitialState(statechart) default = State(name='default', context=statechart) final = FinalState(statechart) finish = Event('finish') Transition(start=init, end=default) Transition(start=default, end=final, event=finish) statechart.start() assert statechart.is_active('default') assert not statechart.is_finished() statechart.dispatch(finish) assert statechart.is_finished()
def test_simple_statechart_finished(self): statechart = Statechart(name="statechart") init = InitialState(statechart) default = State(name="default", context=statechart) final = FinalState(statechart) finish = Event("finish") Transition(start=init, end=default) Transition(start=default, end=final, event=finish) statechart.start() assert statechart.is_active("default") assert not statechart.is_finished() statechart.dispatch(finish) assert statechart.is_finished()