Exemplo n.º 1
0
        public void can_handle_child_messages()
        {
            var msg3 = new ChildTestMessage();

            Bus.Publish(msg3);
            Assert.Equal(BusMessages.Count, 2);

            Message deQdMsg;

            if (BusMessages.TryDequeue(out deQdMsg))
            {
                Assert.IsType <TestMessage>(deQdMsg);
            }
            if (BusMessages.TryDequeue(out deQdMsg))
            {
                Assert.IsType <ChildTestMessage>(deQdMsg);
            }

            Assert.False(BusMessages.TryDequeue(out deQdMsg));

            Assert.IsOrBecomesTrue(
                () => Interlocked.Read(ref MessageSubscriber.TimesTestMessageHandled) == 1,
                1000,
                $"Expected 1 TestMessage, found {MessageSubscriber.TimesTestMessageHandled}");


            Assert.IsOrBecomesTrue(
                () => Interlocked.Read(ref MessageSubscriber.TimesChildTestMessageHandled) == 1,
                null,
                $"Expected 1 ChildTestMessage, found {MessageSubscriber.TimesChildTestMessageHandled}");
        }
Exemplo n.º 2
0
 public void Handle(ChildTestMessage message)
 {
     Interlocked.Increment(ref TimesChildTestMessageHandled);
 }