public void DomainEventHandlerThatImplementsTwoHandlersAreCalledWhenHandlerTypeIsInTypeCatalog() { mocker.GetMock <IDomainEventHandlerFactory>() .Setup(factory => factory.Create(It.IsAny <Type>())) .Returns((Type type) => Activator.CreateInstance(type)); mocker.GetMock <ITypeCatalog>() .Setup(typeCatalog => typeCatalog.GetGenericInterfaceImplementations(typeof(IHandleDomainEvents <>))) .Returns(new[] { typeof(MyTest2EventHandler) }); var eventBus = CreateLocalEventBus(); var myTestEvent = new MyTestEvent(); var myTest2Event = new MyTest2Event(); eventBus.PublishEvents(new DomainEvent[] { myTestEvent, myTest2Event }); Assert.AreEqual(102, myTestEvent.Result); Assert.AreEqual(45, myTest2Event.Result); }
public void Handle(MyTest2Event domainEvent) { domainEvent.Result = 45; }