public void LoadingNonInitializedStateMachine( PassiveStateMachine <State, Event> loadedMachine) { "when a not started state machine is loaded".x(() => { var loader = new StateMachineLoader <State>(); loader.SetCurrentState(Initializable <State> .UnInitialized()); loader.SetHistoryStates(new Dictionary <State, State>()); var stateMachineDefinitionBuilder = new StateMachineDefinitionBuilder <State, Event>(); SetupStates(stateMachineDefinitionBuilder); loadedMachine = stateMachineDefinitionBuilder .WithInitialState(State.A) .Build() .CreatePassiveStateMachine(); loadedMachine.Load(loader); }); "it should not be initialized already".x(() => { var stateMachineSaver = new StateMachineSaver <State>(); loadedMachine.Save(stateMachineSaver); stateMachineSaver .CurrentStateId .IsInitialized .Should() .BeFalse(); }); }
public void LoadingNonInitializedStateMachine( PassiveStateMachine <State, Event> loadedMachine) { "when a non-initialized state machine is loaded".x(() => { var loader = new StateMachineLoader <State>(); loader.SetCurrentState(new Initializable <State>()); loader.SetHistoryStates(new Dictionary <State, State>()); loadedMachine = new PassiveStateMachine <State, Event>(); DefineMachine(loadedMachine); loadedMachine.Load(loader); }); "it should not be initialized already".x(() => { Action act = () => loadedMachine.Initialize(State.S); act.Should().NotThrow(); }); }