Exemple #1
0
 public void Sleep(RequestMock request)
 {
     if (request.SleepTimeout.HasValue)
     {
         Thread.Sleep(request.SleepTimeout.Value);
     }
 }
Exemple #2
0
        public static void ExecuteLoop(
            RequestMock request,
            TimeSpan timeout,
            IErrorHandler <SubRequestMock, RequestStepMock> defaultErrorHandler = null,
            IInterceptor <SubRequestMock, RequestStepMock> defaultInterceptor   = null,
            IErrorHandler <SubRequestMock, RequestStepMock> customErrorHandler  = null,
            IInterceptor <SubRequestMock, RequestStepMock> customInterceptor    = null)
        {
            var wf          = new RequestWorkflowMock();
            var requestPipe = WorkflowFactory.Create <RequestMock, RequestStepMock>(request, new TimeSpan(0, 0, 3), TimeoutLifetime.Step);
            var wf2         = new SubRequestWorkflowMock();

            requestPipe
            .InvokeStep(wf.ReadString, RequestStepMock.Step1)
            .InvokeStep(wf.Parse, RequestStepMock.Step2)
            .InvokeLoop <SubRequestMock, RequestStepMock>(wf.GetStrings, RequestStepMock.Step7, r =>
            {
                var pipe = WorkflowFactory.Create(
                    r, timeout, TimeoutLifetime.Workflow, defaultErrorHandler, defaultInterceptor);

                pipe.InvokeStep(wf2.ReadString, RequestStepMock.Step1, customErrorHandler, customInterceptor)
                .InvokeStep(wf2.Parse, RequestStepMock.Step2, customErrorHandler, customInterceptor)
                .InvokeStep(wf2.Mul, RequestStepMock.Step3, customErrorHandler, customInterceptor)
                .InvokeStep(wf2.Sleep, RequestStepMock.Step4, customErrorHandler, customInterceptor)
                .InvokeStep(wf2.AddValue, RequestStepMock.Step5, customErrorHandler, customInterceptor);
            })
            .InvokeStep(wf.Done, RequestStepMock.Done);
        }
Exemple #3
0
 public SubRequestMock(
     string initialValue,
     RequestMock parentRequest,
     RequestStepMock?stateToStartFrom,
     TimeSpan?sleepTimeout = null)
     : base(stateToStartFrom)
 {
     InitialString = initialValue;
     ParentRequest = parentRequest;
     SleepTimeout  = sleepTimeout;
 }
Exemple #4
0
        public static void ExecuteChain(
            RequestMock request,
            TimeSpan timeout,
            TimeoutLifetime timeoutLifetime,
            IErrorHandler <RequestMock, RequestStepMock> defaultErrorHandler = null,
            IInterceptor <RequestMock, RequestStepMock> defaultInterceptor   = null,
            IErrorHandler <RequestMock, RequestStepMock> customErrorHandler  = null,
            IInterceptor <RequestMock, RequestStepMock> customInterceptor    = null)
        {
            var wf   = new RequestWorkflowMock();
            var pipe = WorkflowFactory.Create(request, timeout, timeoutLifetime, defaultErrorHandler, defaultInterceptor);

            pipe.InvokeStep(wf.ReadString, RequestStepMock.Step1, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Parse, RequestStepMock.Step2, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Mul, RequestStepMock.Step3, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Sleep, RequestStepMock.Step4, customErrorHandler, customInterceptor)
            .InvokeStep(wf.Done, RequestStepMock.Done, customErrorHandler, customInterceptor);
        }
Exemple #5
0
 public void ReadString(RequestMock request)
 {
     request.StrValue = request.Default;
 }
Exemple #6
0
 public void Done(RequestMock request)
 {
     request.Done = true;
 }
Exemple #7
0
 public IEnumerable <SubRequestMock> GetStrings(RequestMock request)
 {
     return(request.Strings.Select(s => new SubRequestMock(s, request, null, request.SleepTimeout)));
 }
Exemple #8
0
 public void Mul(RequestMock request)
 {
     request.Value = checked (2 * request.Value);
 }
Exemple #9
0
 public void Parse(RequestMock request)
 {
     request.Value = int.Parse(request.StrValue);
 }