public void It_can_find_handler_by_exact_type() { var collection = new HandlerSelector(typeof(TestCommandHandler)); var handlerType = collection.GetHandlerFor(typeof(TestCommand)); Assert.AreEqual(typeof(TestCommandHandler), handlerType); }
public void It_can_process_a_command() { var handlerCollection = new HandlerSelector(typeof(TestCommandHandler)); var filters = new FilterSelector(); var pipeline = new PipelineFactory(handlerCollection, filters, new DefaultObjectFactory()); var result = pipeline.Process(new TestCommand()) as TestCommandResult; Assert.IsNotNull(result); }
public void It_can_contain_more_than_one_type() { var collection = new HandlerSelector(typeof(TestCommandHandler), typeof(AnotherTestCommandHandler)); var firstHandler = collection.GetHandlerFor(typeof(TestCommand)); var secondHandler = collection.GetHandlerFor(typeof(AnotherTestCommand)); Assert.AreEqual(typeof(TestCommandHandler), firstHandler); Assert.AreEqual(typeof(AnotherTestCommandHandler), secondHandler); }
public PipelineFactory(HandlerSelector handlerSelector, FilterSelector filterSelector, IObjectFactory objectFactory) { _handlerSelector = handlerSelector; _filterSelector = filterSelector; _objectFactory = objectFactory; }