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());
        }
        public void should_create_all_invoker_types()
        {
            var bus = new BusFactory()
                      .WithHandlers(
                typeof(SyncMessageHandler),
                typeof(AsyncMessageHandler),
                typeof(BatchedMessageHandler)
                )
                      .CreateAndStartInMemoryBus();

            var message = new TestMessage();

            bus.Publish(message);

            Wait.Until(() => message.HandledSync, 2.Seconds());
            Wait.Until(() => message.HandledAsync, 2.Seconds());
            Wait.Until(() => message.HandledBatched, 2.Seconds());
        }