public void should_support_explicit_interface_implementations()
        {
            var bus = new BusFactory()
                      .WithHandlers(
                typeof(SyncMessageHandler),
                typeof(AsyncMessageHandler),
                typeof(BatchedMessageHandler)
                )
                      .CreateAndStartInMemoryBus();

            var message = new TestExplicitImplMessage();

            bus.Publish(message);

            Wait.Until(() => message.HandledSync, 2.Seconds());
            Wait.Until(() => message.HandledAsync, 2.Seconds());
            Wait.Until(() => message.HandledBatched, 2.Seconds());
        }
 void IMessageHandler <TestExplicitImplMessage> .Handle(TestExplicitImplMessage message)
 {
     message.HandledSync = true;
 }
 Task IAsyncMessageHandler <TestExplicitImplMessage> .Handle(TestExplicitImplMessage message)
 {
     message.HandledAsync = true;
     return(Task.CompletedTask);
 }