public override void SetUp()
 {
     base.SetUp();
     _sut             = (IStateTransitionOrchestrator)base._sut;
     _state           = A.Fake <IState <Department> >();
     _transitionGuard = _transitionGuard.Fake();
     A.CallTo(() => _stateTransitionGuardFactory.CreateFor(_state)).Returns(_transitionGuard);
 }
Exemplo n.º 2
0
        public ProjectionSystem(
            IStateTransitionOrchestrator <TItem> stateTransitionOrchestrator,
            IStateFactory <TItem> uninitialisedStateFactory,
            IStateFactory <TItem> creatingStateFactory,
            IStateFactory <TItem> validStateFactory,
            IStateFactory <TItem> expiredStateFactory,
            IStateFactory <TItem> updatingStateFactory,
            ISyncLockFactory getProjectionLockFactory)
        {
            if (stateTransitionOrchestrator == null)
            {
                throw new ArgumentNullException(nameof(stateTransitionOrchestrator));
            }
            if (uninitialisedStateFactory == null)
            {
                throw new ArgumentNullException(nameof(uninitialisedStateFactory));
            }
            if (creatingStateFactory == null)
            {
                throw new ArgumentNullException(nameof(creatingStateFactory));
            }
            if (validStateFactory == null)
            {
                throw new ArgumentNullException(nameof(validStateFactory));
            }
            if (expiredStateFactory == null)
            {
                throw new ArgumentNullException(nameof(expiredStateFactory));
            }
            if (updatingStateFactory == null)
            {
                throw new ArgumentNullException(nameof(updatingStateFactory));
            }
            if (getProjectionLockFactory == null)
            {
                throw new ArgumentNullException(nameof(getProjectionLockFactory));
            }
            _stateTransitionOrchestrator = stateTransitionOrchestrator;
            _creatingState            = creatingStateFactory.Create(this);
            _validState               = validStateFactory.Create(this);
            _expiredState             = expiredStateFactory.Create(this);
            _updatingState            = updatingStateFactory.Create(this);
            _getProjectionLockFactory = getProjectionLockFactory;

            var initialisationTask = _stateTransitionOrchestrator
                                     .TransitionToState(uninitialisedStateFactory.Create(this));

            if (!initialisationTask.IsCompleted)
            {
                initialisationTask.RunSynchronously();
            }
        }
Exemplo n.º 3
0
 public LoggingStateTransitionOrchestrator(IStateTransitionOrchestrator <TItem> inner, ITraceLogger traceLogger)
 {
     if (inner == null)
     {
         throw new ArgumentNullException(nameof(inner));
     }
     if (traceLogger == null)
     {
         throw new ArgumentNullException(nameof(traceLogger));
     }
     _inner       = inner;
     _traceLogger = traceLogger;
 }
        public virtual void SetUp()
        {
            _stateTransitionOrchestrator = _stateTransitionOrchestrator.Fake();
            _uninitialisedStateFactory   = _uninitialisedStateFactory.Fake();
            _creatingStateFactory        = _creatingStateFactory.Fake();
            _validStateFactory           = _validStateFactory.Fake();
            _expiredStateFactory         = _expiredStateFactory.Fake();
            _updatingStateFactory        = _updatingStateFactory.Fake();
            _getProjectionLockFactory    = _getProjectionLockFactory.Fake();

            _uninitialisedState = _uninitialisedState.Fake();
            _creatingState      = _creatingState.Fake();
            _validState         = _validState.Fake();
            _expiredState       = _expiredState.Fake();
            _updatingState      = _updatingState.Fake();

            _initialiseStateCall = A.CallTo(() => _stateTransitionOrchestrator.TransitionToState(A <IState <Department> > .That.Matches(state => state.Id == StateId.Uninitialised)));
            _initialiseStateTask = new Task(() => {});
            _initialiseStateCall.Returns(_initialiseStateTask);

            ConfigureStateFactory_ToReturnState(_uninitialisedStateFactory, _uninitialisedState);
            ConfigureStateFactory_ToReturnState(_creatingStateFactory, _creatingState);
            ConfigureStateFactory_ToReturnState(_validStateFactory, _validState);
            ConfigureStateFactory_ToReturnState(_expiredStateFactory, _expiredState);
            ConfigureStateFactory_ToReturnState(_updatingStateFactory, _updatingState);

            ConfigureState_ToHaveStateId(_uninitialisedState, StateId.Uninitialised);
            ConfigureState_ToHaveStateId(_creatingState, StateId.Creating);
            ConfigureState_ToHaveStateId(_validState, StateId.Valid);
            ConfigureState_ToHaveStateId(_expiredState, StateId.Expired);
            ConfigureState_ToHaveStateId(_updatingState, StateId.Updating);

            _sut = new ProjectionSystem <Department>(
                _stateTransitionOrchestrator,
                _uninitialisedStateFactory,
                _creatingStateFactory,
                _validStateFactory,
                _expiredStateFactory,
                _updatingStateFactory,
                _getProjectionLockFactory);
        }
 public virtual void SetUp()
 {
     _inner       = _inner.Fake();
     _traceLogger = _traceLogger.Fake();
     _sut         = new LoggingStateTransitionOrchestrator <Department>(_inner, _traceLogger);
 }