public void GetStateTransitionWithAsyncCondition_returns_StateTransitionAsync() { var stateMachine = new NStateManager.Async.StateMachine <Sale, SaleState, SaleEvent>(sale => sale.State, (sale, newState) => sale.State = newState); var result = StateTransitionFactory <Sale, SaleState, SaleEvent> .GetStateTransition(stateMachine , toState : SaleState.Complete , conditionAsync : (sale, cancelToken) => Task.FromResult(true) , name : "test" , priority : 1); Assert.IsType <NStateManager.Async.StateTransition <Sale, SaleState, SaleEvent> >(result); }
public void GetStateTransactionWTRequestAsyncStateMachineStartStateAndTriggerState_returns_StateTransitionAutoDynamicAsync() { var stateMachine = new NStateManager.Async.StateMachine <Sale, SaleState, SaleEvent>(sale => sale.State, (sale, newState) => sale.State = newState); var result = StateTransitionFactory <Sale, SaleState, SaleEvent> .GetStateTransition <string>(stateMachine , startState : SaleState.Open , stateFunction : (sale, stringParam) => SaleState.Complete , triggerState : SaleState.ChangeDue , name : "test" , priority : 1); Assert.IsType <NStateManager.Async.StateTransitionAutoDynamicParameterized <Sale, SaleState, SaleEvent, string> >(result); }