public Delay(IThreadOperations threadOperations, ITimeService timeService) { _threadOperations = threadOperations; _timeService = timeService; _runCount = 1; RecoveryOptions = new RecoveryOptionsDto(); }
protected override void When() { _mockRecoveryTask = Substitute.For <IRunnable>(); _mockRecoveryTask .Run() .Returns(SequenceResultEnum.Fail); _recoveryOptions = new RecoveryOptionsDto(true, _mockRecoveryTask.Run); MockFirstTask .GetRunCount() .Returns(_runCountFirst); MockFirstTask .Run() .Returns(SequenceResultEnum.Success); MockSecondTask .GetRunCount() .Returns(_runCountSecond); MockSecondTask .Run() .Returns(SequenceResultEnum.Success); MockThirdTask .RecoveryOptions .Returns(_recoveryOptions); MockThirdTask .GetRunCount() .Returns(_runCountThird); MockThirdTask .Run() .Returns(SequenceResultEnum.Fail); _result = SUT.Run(); }
protected Sequence(List <IRunnable> tasks, RecoveryOptionsDto recoveryOptions, Action failAction, int runCount) { Tasks = tasks; RecoveryOptions = recoveryOptions; FailAction = failAction; _runCount = runCount; }
protected override void When() { _recoveryOptions = new RecoveryOptionsDto(); MockFirstTask .GetRunCount() .Returns(_runCountFirst); MockFirstTask .Run() .Returns(SequenceResultEnum.Success); MockSecondTask .GetRunCount() .Returns(_runCountSecond); MockSecondTask .Run() .Returns(SequenceResultEnum.Success); MockThirdTask .RecoveryOptions .Returns(_recoveryOptions); MockThirdTask .GetRunCount() .Returns(_runCountThird); MockThirdTask .Run() .Returns(SequenceResultEnum.Fail); _result = SUT.Run(); }
public CheckForLightCommand(IValidateOperationService validateOperationService, IAnalogOperations analogOperations, ILightSensor lightSensor, IThreadOperations threadOperations) { _validateOperationService = validateOperationService; _analogOperations = analogOperations; _lightSensor = lightSensor; _threadOperations = threadOperations; RecoveryOptions = new RecoveryOptionsDto(true, Recover); }
public OpenDoorCommand(IAxisOperations axisOperations, IValidateOperationService validateOperationService, IDoor door, ICeilingSensor ceiling) { _axisOperations = axisOperations; _validateOperationService = validateOperationService; _door = door; _ceiling = ceiling; RecoveryOptions = new RecoveryOptionsDto(); }
public SerialSequence( List <IRunnable> tasks, RecoveryOptionsDto recoveryOptions, Action failAction, int runCount ) : base( tasks, recoveryOptions, failAction, runCount ) { }
/// <exception cref="ArgumentOutOfRangeException"></exception> public ISequence CreateSequence( int type, List <IRunnable> tasks, RecoveryOptionsDto recoveryOptions, Action failAction, int runCount ) { return(type switch { ISequenceFactory.Serial => new SerialSequence(tasks, recoveryOptions, failAction, runCount), ISequenceFactory.Parelell => new ParrellelSequence(tasks, recoveryOptions, failAction, runCount, _threadOperations), _ => throw new ArgumentOutOfRangeException() });
public ParrellelSequence( List <IRunnable> tasks, RecoveryOptionsDto recoveryOptions, Action failAction, int runCount, IThreadOperations threadOperations ) : base( tasks, recoveryOptions, failAction, runCount ) { _threadOperations = threadOperations; }