public void EventHandlersAreExecutedWithMultipleEvents()
{
sut.PublishEvents(new[] { testEvent2, testEvent1 });
Received.InOrder(() =>
{
domainEventHandler1.Received().Execute(testEvent2, unitOfWork);
domainEventHandler2.Received().Execute(testEvent2, unitOfWork);
asyncDomainEventHandler1.Received().ExecuteAsync(testEvent2, unitOfWork);
asyncDomainEventHandler2.Received().ExecuteAsync(testEvent2, unitOfWork);
domainEventHandler1.Received().Execute(testEvent1, unitOfWork);
domainEventHandler2.Received().Execute(testEvent1, unitOfWork);
asyncDomainEventHandler1.Received().ExecuteAsync(testEvent1, unitOfWork);
asyncDomainEventHandler2.Received().ExecuteAsync(testEvent1, unitOfWork);
});
domainEventHandler3.DidNotReceive().Execute(Arg.Any<AnotherTestDomainEvent>(), Arg.Any<TestUnitOfWork>());
asyncDomainEventHandler3.DidNotReceive().ExecuteAsync(Arg.Any<AnotherTestDomainEvent>(), Arg.Any<TestUnitOfWork>());
}