private IEventHandlerFactory BuildEventHandlerFactory(ICodeEventHandler eventHandler) { EventHandlerFactoryMock = new Mock <IEventHandlerFactory>(); EventHandlerFactoryMock .Setup(f => f.CreateEventHandler(It.Is <string>(code => string.Equals("noOp", code, StringComparison.OrdinalIgnoreCase)))) .Returns(eventHandler); EventHandlerFactoryMock .Setup(f => f.CreateEventHandler(It.Is <string>(code => code.StartsWith("remote.")))) .Returns(eventHandler); return(EventHandlerFactoryMock.Object); }
protected WorkflowEngineBuildResult BuildWorkflowEngine(bool mockWorkflowStore, bool nested, IActivity activity, ICodeEventHandler eventHandler) { var activityFactoryMock = BuildActivityFactory(activity); var eventHandlerFactory = BuildEventHandlerFactory(eventHandler); var domainStore = BuildDomainStore(nested); var workflowStore = BuildWorkflowStore(mockWorkflowStore, nested); var workflowMessageBus = BuildWorkflowMessageTransportFactoryProvider(); var workflowRuntimeConfigurationFactory = BuildWorkflowRuntimeConfigurationFactory(); var workflowEngineBuilder = new WorkflowEngineBuilder(); workflowEngineBuilder .WithActivityFactory(activityFactoryMock) .WithEventHandlerFactory(eventHandlerFactory) .WithDomainStore(domainStore) .WithMessageTransportFactoryProvider(workflowMessageBus) .WithWorkflowRuntimeConfigurationFactory(workflowRuntimeConfigurationFactory) .WithWorkflowStore(workflowStore); return(new WorkflowEngineBuildResult(workflowEngineBuilder, new WorkflowEngine(workflowEngineBuilder))); }