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}"); }
public void Handle(ChildTestMessage message) { Interlocked.Increment(ref TimesChildTestMessageHandled); }