public void WhenTheyAreStillBeingReferenced()
        {
            // Arrange
              var subscribers = new Subscriber<TestMessageTypeA>[100];
              var bus = new MessageBus();
              for (var i = 0; i < 100; i++)
              {
            subscribers[i] = bus.SubscriberFor<TestMessageTypeA>(NoAction);
              }

              // Act
              GC.Collect();

              // Assert
              bus.GetSubscriberCount.Should().Be(100);
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            bus = new MessageBus();

            var receiverForA = new TestMessageReceiver("receiverForA");
            var receiverForB = new TestMessageReceiver("receiverForB");
            var receiverForAll = new TestMessageReceiver("receiverForAll");

            subscriberA = bus.SubscriberFor<TestMessageTypeA>(receiverForA.Receive);
            subscriberB = bus.SubscriberFor<TestMessageTypeB>(receiverForB.Receive);
            subscriberC = bus.SubscriberFor<TestMessageBase>(receiverForAll.Receive);
            testMessageA = new TestMessageTypeA();
            testMessageB = new TestMessageTypeB();
            testMessageC = new TestMessageTypeC();
            bus.SendMessage(testMessageB);
            bus.SendMessage(testMessageC);

            Thread.Sleep(100);
        }
        public void CanSubscribeToPublishedEvent()
        {
            SubscriptionMessage<SampleEvent> receivedMessage = null;
            AutoResetEvent autoResetEvent = new AutoResetEvent(false);

            // Register the subscriber
            Subscriber subscriber = new Subscriber(Configuration.SampleTopicName, Configuration.AzureServiceBusConnectionString);
            subscriber.Subscribe<SampleEvent>("StronglyTypedPubSubSubscription", message =>
            {
                receivedMessage = message;
                autoResetEvent.Set();
            });

            Publisher publisher = new Publisher(Configuration.SampleTopicName, Configuration.AzureServiceBusConnectionString);
            publisher.Send(PublishMessage.Create(new SampleEvent("test"), Guid.NewGuid().ToString()));

            autoResetEvent.WaitOne(TimeSpan.FromSeconds(5));

            Assert.IsNotNull(receivedMessage);
            Assert.AreEqual("test", receivedMessage.GetBody().Message);
        }
        public void Demonstrate_Configuration()
        {
            NoRMaticConfig.Initialize();

            var subscriberA = new Subscriber {
                FirstName = "Steve",
                LastName = "Carrell",
                City = "Austin, TX"
            };
            subscriberA.Save();

            var subscriberB = new Subscriber {
                FirstName = "Steve",
                LastName = "Carrell",
                City = "Charlotte"
            };
            subscriberB.Save();

            var fetched = Subscriber.Find(x => x.LastName == "Carrell");
            Assert.AreEqual(1, fetched.Count());
        }