public void SubscriptionWorks()
        {
            var inputQueueName = "test.subscriber";
            var messageQueue = new MsmqMessageQueue(inputQueueName).PurgeInputQueue();
            serializer = new JsonMessageSerializer();

            var subscriptionStorage = new InMemorySubscriptionStorage();
            var bus = new RebusBus(new HandlerActivatorForTesting(), messageQueue, messageQueue,
                                   subscriptionStorage, new SagaDataPersisterForTesting(),
                                   this, serializer, new TrivialPipelineInspector());

            bus.Start();
            bus.Subscribe<TheMessage>("test.subscriber");

            Thread.Sleep(500);

            Assert.AreEqual("test.subscriber", subscriptionStorage.GetSubscribers(typeof(TheMessage))[0]);
        }
        public void SubscriptionWorks()
        {
            // arrange
            var subscriptionStorage = new InMemorySubscriptionStorage();

            // publisher
            CreateBus(PublisherInputQueueName, new HandlerActivatorForTesting(), subscriptionStorage, new InMemorySagaPersister(), "error").Start(1);

            // subscriber
            var subscriber = CreateBus(SubscriberInputQueueName, new HandlerActivatorForTesting()).Start(1);

            // act
            subscriber.Subscribe<TheMessage>();

            Thread.Sleep(500);

            // assert
            var subscribers = subscriptionStorage.GetSubscribers(typeof (TheMessage));
            subscribers.Length.ShouldBe(1);
            subscribers[0].ShouldBe(SubscriberInputQueueName);
        }