Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }