public void GetMessages_Of_T_should_return_only_messages_matching_specific_type()
        {
            var msg1 = 55;
            var msg2 = "string";
            var msg3 = new TestMessage("000");
            var msg4 = new TestMessage("001");
            var msg5 = new DerivedTestMessage("002");

            using var listener = MessageListener.Start(_source);
            _source.Publish(msg1);
            _source.Publish(msg2);
            _source.Publish(msg3);
            _source.Publish(msg4);
            _source.Publish(msg5);
            Assert.That(listener.GetMessages <TestMessage>(), Is.EquivalentTo(new object[] { msg3, msg4, msg5 }));
        }
 public void Handle(DerivedTestMessage message)
 {
     MessageHandleCount++;
     HandledMessageTypes.Add(typeof(DerivedTestMessage));
 }