public static Workflow <TRequest, TStepOrdinal> Create <TRequest, TStepOrdinal>( TRequest request, TimeSpan timeout, TimeoutLifetime timeoutLifetime, IErrorHandler <TRequest, TStepOrdinal> defaultErrorHandler = null, IInterceptor <TRequest, TStepOrdinal> defaultInterceptor = null) where TStepOrdinal : struct where TRequest : RequestBase <TStepOrdinal> { return(new Workflow <TRequest, TStepOrdinal>( request, timeoutLifetime == TimeoutLifetime.Workflow ? (IStepExecutor) new TimeoutPerWorkflowExecutor(timeout) : new TimeoutPerStepExecutor(timeout), defaultErrorHandler, defaultInterceptor)); }
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); }