Esempio n. 1
0
        public void GetStateTransitionWithTResultAndStateFunc_returns_StateTransitionDynamicParameterized()
        {
            var stateMachine = new NStateManager.Sync.StateMachine <Sale, SaleState, SaleEvent>(sale => sale.State, (sale, newState) => sale.State = newState);
            var result       = StateTransitionFactory <Sale, SaleState, SaleEvent> .GetStateTransition <string>(stateMachine
                                                                                                                , stateFunc : (sale, stringParam) => SaleState.Complete
                                                                                                                , name : "test"
                                                                                                                , priority : 1);

            Assert.IsType <StateTransitionDynamicParameterized <Sale, SaleState, SaleEvent, string> >(result);
        }
Esempio n. 2
0
        public void GetStateTransitionWithStateFunc_returns_StateTransitionDynamic()
        {
            var stateMachine = new NStateManager.Sync.StateMachine <Sale, SaleState, SaleEvent>(sale => sale.State, (sale, newState) => sale.State = newState);
            var result       = StateTransitionFactory <Sale, SaleState, SaleEvent> .GetStateTransition(stateMachine
                                                                                                       , stateFunc : sale => SaleState.Complete
                                                                                                       , name : "test"
                                                                                                       , priority : 1);

            Assert.IsType <StateTransitionDynamic <Sale, SaleState, SaleEvent> >(result);
        }
Esempio n. 3
0
        public void GetStateTransition_returns_StateTransition()
        {
            var stateMachine = new NStateManager.Sync.StateMachine <Sale, SaleState, SaleEvent>(sale => sale.State, (sale, newState) => { });
            var result       = StateTransitionFactory <Sale, SaleState, SaleEvent> .GetStateTransition(stateMachine
                                                                                                       , toState : SaleState.Complete
                                                                                                       , condition : _ => true
                                                                                                       , name : "test"
                                                                                                       , priority : 1);

            Assert.IsType <NStateManager.Sync.StateTransition <Sale, SaleState, SaleEvent> >(result);
        }
Esempio n. 4
0
        public void GetStateTransitionWithStateMachineAndStateFunctionTRequest_returns_StateTransitionAutoDynamic()
        {
            var stateMachine = new NStateManager.Sync.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.Sync.StateTransitionAutoDynamicParameterized <Sale, SaleState, SaleEvent, string> >(result);
        }