public void Should_be_able_to_publish_an_event()
        {
            var mockSubscriptionManager = new Mock<ISubscriptionManager>();

            const string SUBSCRIBER1_URI = "memory://./subscriber1";
            const string SUBSCRIBER2_URI = "memory://./subscriber2";

            var subscribers = new List<string>
                              	{
                              		SUBSCRIBER1_URI,
                              		SUBSCRIBER2_URI
                              	};

            mockSubscriptionManager.Setup(mock => mock.GetSubscribedUris(It.IsAny<object>())).Returns(subscribers);

            var configuration = CreateMemoryConfiguration();

            configuration.SubscriptionManager = mockSubscriptionManager.Object;

            var subscriber1 = configuration.QueueManager.CreateQueue(SUBSCRIBER1_URI);
            var subscriber2 = configuration.QueueManager.CreateQueue(SUBSCRIBER2_URI); ;

            using (var bus = new ServiceBus(configuration).Start())
            {
                const string EVENT_NAME = "test::event";

                bus.Publish(new SimpleEvent
                                            {
                                                EventName = EVENT_NAME
                                            });
            }

            Assert.NotNull(subscriber1.GetMessage());
            Assert.IsNull(subscriber1.GetMessage());
            Assert.NotNull(subscriber2.GetMessage());
            Assert.IsNull(subscriber2.GetMessage());
        }