public void CanInvokeMessageHandler()
        {
            // Arrange
            Dispatcher.RegisterMessageHandlers(typeof(MyMessageHandler).Assembly);
            MyMessage1 message = new MyMessage1();

            Count = 0;

            // Act
            Dispatcher.Dispatch(message);

            // Assert
            Assert.AreEqual(1, Count);
        }
Esempio n. 2
0
        public void TypeDetermination()
        {
            IMsgInterface msg = new MyMessage1();

            bus.RegisterSubscriber(new Msg1Sub());

            // Handler wants MyMessage1 types, msg is IMsgInterface but runtime type MyMessage1, so it should still get called
            bus.Send(msg);
            AssertHandleCounts(m1: 1);

            ResetHandleCounts();

            BaseMessge msg2 = new MyMessage2();

            bus.RegisterSubscriber(new Msg2Sub());

            // Similar here, Msg2Sub should still get called.
            bus.Send(msg2);
            AssertHandleCounts(m1: 0, m2: 1);
        }