public PlainTransitionCollection(IPlainStateMachine <TState, TTrigger> stateMachine, IEqualityComparer <TState> stateComparer,
                                  IEqualityComparer <Transition <TState, TTrigger> > transitionEqualityComparer)
 {
     _transitions   = new HashSet <Transition <TState, TTrigger> >(transitionEqualityComparer);
     _stateMachine  = stateMachine;
     _stateComparer = stateComparer;
 }
 public PlainStateBehaviourScheduler(IPlainStateMachine <TState, TTrigger> stateMachine,
                                     PlainStateCollection <TState, TTrigger> stateCollection, PlainTransitionCollection <TState, TTrigger> transitionCollection,
                                     PlainTransitionValidator <TState, TTrigger> transitionValidator,
                                     IEqualityComparer <TState> stateComparer, IEqualityComparer <TTrigger> triggerComparer)
 {
     _stateComparer       = stateComparer;
     _triggerComparer     = triggerComparer;
     _stateMachine        = stateMachine;
     _states              = stateCollection;
     _transitions         = transitionCollection;
     _transitionValidator = transitionValidator;
 }
Esempio n. 3
0
        public void SetUp()
        {
            _stateMachine = NewStateMachine();

            _stateId1 = NewStateId();
            _stateId2 = NewStateId();
            _stateId3 = NewStateId();
            _stateId4 = NewStateId();
            _stateId5 = NewStateId();

            _trigger1 = NewTrigger();
            _trigger2 = NewTrigger();
            _trigger3 = NewTrigger();
            _trigger4 = NewTrigger();
            _trigger5 = NewTrigger();

            _stateObject1 = Substitute.For <IState>();
            _stateObject2 = Substitute.For <IState>();
            _stateObject3 = Substitute.For <IState>();
            _stateObject4 = Substitute.For <IState>();
            _stateObject5 = Substitute.For <IState>();

            _guardCondition1 = Substitute.For <IGuardCondition>();
            _guardCondition2 = Substitute.For <IGuardCondition>();
            _guardCondition3 = Substitute.For <IGuardCondition>();
            _guardCondition4 = Substitute.For <IGuardCondition>();
            _guardCondition5 = Substitute.For <IGuardCondition>();

            _stateEventHandler1 = Substitute.For <IStateEventHandler>();
            _stateEventHandler2 = Substitute.For <IStateEventHandler>();
            _stateEventHandler3 = Substitute.For <IStateEventHandler>();
            _stateEventHandler4 = Substitute.For <IStateEventHandler>();
            _stateEventHandler5 = Substitute.For <IStateEventHandler>();

            _event1 = Substitute.For <IEvent>();

            _onBeforeStateChangesSubscriptor1 = Substitute.For <StateChanged <TState, TTrigger> >();
            _onBeforeStateChangesSubscriptor2 = Substitute.For <StateChanged <TState, TTrigger> >();
            _onBeforeStateChangesSubscriptor3 = Substitute.For <StateChanged <TState, TTrigger> >();

            _onStateChangedSubscriptor1 = Substitute.For <StateChanged <TState, TTrigger> >();
            _onStateChangedSubscriptor2 = Substitute.For <StateChanged <TState, TTrigger> >();
            _onStateChangedSubscriptor3 = Substitute.For <StateChanged <TState, TTrigger> >();

            _startCallback     = Substitute.For <Action>();
            _stopCallback      = Substitute.For <Action>();
            _updateCallback    = Substitute.For <Action>();
            _triggerCallback   = Substitute.For <Action <bool> >();
            _sendEventCallback = Substitute.For <Action <bool> >();
        }
 public PlainStateEventHandlerCollection(IPlainStateMachine <TState, TTrigger> stateMachine, IEqualityComparer <TState> stateComparer)
 {
     _stateComparer = stateComparer ?? throw new ArgumentNullException(nameof(stateComparer));
     _stateMachine  = stateMachine;
     _eventHandlers = new Dictionary <TState, List <IStateEventHandler> >(_stateComparer);
 }
Esempio n. 5
0
 public PlainTransitionValidator(IPlainStateMachine <TState, TTrigger> stateMachine, IEqualityComparer <Transition <TState, TTrigger> > transitionComparer)
 {
     _guardConditions = new Dictionary <Transition <TState, TTrigger>, List <IGuardCondition> >(transitionComparer);
     _stateMachine    = stateMachine;
 }
 public PlainStateCollection(IPlainStateMachine <TState, TTrigger> stateMachine, IEqualityComparer <TState> stateComparer)
 {
     _stateMachine  = stateMachine;
     _stateComparer = stateComparer;
 }