private static void CheckOnlyStateNameChanged <TData>(this ProcessScenario <TData> scenario, string stateName) where TData : class, IProcessState
 {
     Assert.Equal(stateName, scenario.State.CurrentStateName);
     EventsExtensions.CompareState(scenario.InitialState,
                                   scenario.State,
                                   Compare.Ignore(nameof(IProcessState.CurrentStateName)));
 }
 private static ProcessScenario <TData> CheckProducedState <TData>(this ProcessScenario <TData> scenario, TData expectedState, CompareLogic logic = null) where TData : class, IProcessState
 {
     EventsExtensions.CompareState(expectedState, scenario.State, logic);
     return(scenario);
 }
 public static ProcessScenario <TData> CheckStateName <TData>(this ProcessScenario <TData> scenario, string stateName) where TData : class, IProcessState
 {
     Assert.Equal(stateName, scenario.State.CurrentStateName);
     return(scenario);
 }
 public static ProcessScenario <TData> CheckProducedCommands <TData>(this ProcessScenario <TData> scenario, CompareLogic logic = null) where TData : class, IProcessState
 {
     EventsExtensions.CompareCommands(scenario.ExpectedCommands, scenario.ProducedCommands, logic);
     return(scenario);
 }