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;
 }