public void Setup()
        {
            unitOfWorkDomainEventHandler1 = Substitute.For <IAsyncUnitOfWorkDomainEventHandler <TestDomainEvent, TestUnitOfWork> >();
            unitOfWorkDomainEventHandler2 = Substitute.For <IAsyncUnitOfWorkDomainEventHandler <TestDomainEvent, TestUnitOfWork> >();

            unitOfWorkDomainEventHandlers = new List <IAsyncUnitOfWorkDomainEventHandler <TestDomainEvent, TestUnitOfWork> >
            {
                unitOfWorkDomainEventHandler1,
                unitOfWorkDomainEventHandler2
            };

            domainEventHandler3 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            domainEventHandler4 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            domainEventHandlers = new List <IAsyncDomainEventHandler <TestDomainEvent> >
            {
                domainEventHandler3,
                domainEventHandler4
            };

            eventHandlerResolver           = Substitute.For <IDomainEventHandlerResolver>();
            unitOfWorkEventHandlerResolver = Substitute.For <IUnitOfWorkDomainEventHandlerResolver>();
            unitOfWork = Substitute.For <TestUnitOfWork>();

            domainEvent = new TestDomainEvent(Guid.NewGuid());
            unitOfWorkEventHandlerResolver.ResolveEventHandlers <IAsyncUnitOfWorkDomainEventHandler <TestDomainEvent, TestUnitOfWork> >().Returns(unitOfWorkDomainEventHandlers);
            eventHandlerResolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(domainEventHandlers);

            sut = new TestAsyncUnitOfWorkDomainRepository(eventHandlerResolver, unitOfWorkEventHandlerResolver, unitOfWork);
        }
        public void Setup()
        {
            unitOfWorkDomainEventHandler1 = Substitute.For<IAsyncUnitOfWorkDomainEventHandler<TestDomainEvent, TestUnitOfWork>>();
            unitOfWorkDomainEventHandler2 = Substitute.For<IAsyncUnitOfWorkDomainEventHandler<TestDomainEvent, TestUnitOfWork>>();
            
            unitOfWorkDomainEventHandlers = new List<IAsyncUnitOfWorkDomainEventHandler<TestDomainEvent, TestUnitOfWork>>
            {
                unitOfWorkDomainEventHandler1,
                unitOfWorkDomainEventHandler2
            };

            domainEventHandler3 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            domainEventHandler4 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            domainEventHandlers = new List<IAsyncDomainEventHandler<TestDomainEvent>>
            {
                domainEventHandler3,
                domainEventHandler4
            };

            eventHandlerResolver = Substitute.For<IDomainEventHandlerResolver>();
            unitOfWorkEventHandlerResolver = Substitute.For<IUnitOfWorkDomainEventHandlerResolver>();
            unitOfWork = Substitute.For<TestUnitOfWork>();

            domainEvent = new TestDomainEvent(Guid.NewGuid());
            unitOfWorkEventHandlerResolver.ResolveEventHandlers<IAsyncUnitOfWorkDomainEventHandler<TestDomainEvent, TestUnitOfWork>>().Returns(unitOfWorkDomainEventHandlers);
            eventHandlerResolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(domainEventHandlers);

            sut = new TestAsyncUnitOfWorkDomainRepository(eventHandlerResolver, unitOfWorkEventHandlerResolver, unitOfWork);
        }
        public void Setup()
        {
            domainEventHandler1 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            domainEventHandler2 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();

            IEnumerable<IAsyncDomainEventHandler<TestDomainEvent>> eventHandlers = new List<IAsyncDomainEventHandler<TestDomainEvent>>
            {
                domainEventHandler1,
                domainEventHandler2
            };

            domainEvent = new TestDomainEvent(Guid.NewGuid());
            eventHandlerResolver = Substitute.For<IDomainEventHandlerResolver>();
            eventHandlerResolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(eventHandlers);

            sut = new TestAsyncDomainRepository(eventHandlerResolver);
        }
        public void Setup()
        {
            domainEventHandler1 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            domainEventHandler2 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();

            IEnumerable <IAsyncDomainEventHandler <TestDomainEvent> > eventHandlers = new List <IAsyncDomainEventHandler <TestDomainEvent> >
            {
                domainEventHandler1,
                domainEventHandler2
            };

            domainEvent          = new TestDomainEvent(Guid.NewGuid());
            eventHandlerResolver = Substitute.For <IDomainEventHandlerResolver>();
            eventHandlerResolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(eventHandlers);

            sut = new TestAsyncDomainRepository(eventHandlerResolver);
        }
        public void Setup()
        {
            domainEventHandler1 = Substitute.For<IDomainEventHandler<TestDomainEvent>>();
            domainEventHandler2 = Substitute.For<IDomainEventHandler<TestDomainEvent>>();
            domainEventHandler3 = Substitute.For<IDomainEventHandler<AnotherTestDomainEvent>>();
            asyncDomainEventHandler1 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            asyncDomainEventHandler2 = Substitute.For<IAsyncDomainEventHandler<TestDomainEvent>>();
            asyncDomainEventHandler3 = Substitute.For<IAsyncDomainEventHandler<AnotherTestDomainEvent>>();

            resolver = Substitute.For<IDomainEventHandlerResolver>();
            resolver.ResolveEventHandlers<IDomainEventHandler<TestDomainEvent>>().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers<IDomainEventHandler<TestDomainEvent>>().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers<IDomainEventHandler<AnotherTestDomainEvent>>().Returns(new[] { domainEventHandler3 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<TestDomainEvent>>().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers<IAsyncDomainEventHandler<AnotherTestDomainEvent>>().Returns(new[] { asyncDomainEventHandler3 });

            sut = new DomainEventBroker(resolver);
        }
        public void Setup()
        {
            domainEventHandler1      = Substitute.For <IDomainEventHandler <TestDomainEvent> >();
            domainEventHandler2      = Substitute.For <IDomainEventHandler <TestDomainEvent> >();
            domainEventHandler3      = Substitute.For <IDomainEventHandler <AnotherTestDomainEvent> >();
            asyncDomainEventHandler1 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            asyncDomainEventHandler2 = Substitute.For <IAsyncDomainEventHandler <TestDomainEvent> >();
            asyncDomainEventHandler3 = Substitute.For <IAsyncDomainEventHandler <AnotherTestDomainEvent> >();

            resolver = Substitute.For <IDomainEventHandlerResolver>();
            resolver.ResolveEventHandlers <IDomainEventHandler <TestDomainEvent> >().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers <IDomainEventHandler <TestDomainEvent> >().Returns(new[] { domainEventHandler1, domainEventHandler2 });
            resolver.ResolveEventHandlers <IDomainEventHandler <AnotherTestDomainEvent> >().Returns(new[] { domainEventHandler3 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <TestDomainEvent> >().Returns(new[] { asyncDomainEventHandler1, asyncDomainEventHandler2 });
            resolver.ResolveEventHandlers <IAsyncDomainEventHandler <AnotherTestDomainEvent> >().Returns(new[] { asyncDomainEventHandler3 });

            sut = new DomainEventBroker(resolver);
        }