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