public void multiple_handlers_to_multiple_messages_then_each_handler_should_handle_only_subscribed_messages()
        {
            var handler1 = new TestMultiHandler();
            var handler2 = new TestMultiHandler();
            var handler3 = new TestMultiHandler();

            _bus.Subscribe<TestMessage>(handler1);
            _bus.Subscribe<TestMessage3>(handler1);

            _bus.Subscribe<TestMessage>(handler2);
            _bus.Subscribe<TestMessage2>(handler2);

            _bus.Subscribe<TestMessage2>(handler3);
            _bus.Subscribe<TestMessage3>(handler3);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(handler1.HandledMessages.ContainsSingle<TestMessage>() &&
                        handler1.HandledMessages.ContainsNo<TestMessage2>() &&
                        handler1.HandledMessages.ContainsSingle<TestMessage3>() &&

                        handler2.HandledMessages.ContainsSingle<TestMessage>() &&
                        handler2.HandledMessages.ContainsSingle<TestMessage2>() &&
                        handler2.HandledMessages.ContainsNo<TestMessage3>() &&

                        handler3.HandledMessages.ContainsNo<TestMessage>() &&
                        handler3.HandledMessages.ContainsSingle<TestMessage2>() &&
                        handler3.HandledMessages.ContainsSingle<TestMessage3>() );
        }
        public void multiple_handlers_to_multiple_messages_then_each_handler_should_handle_only_subscribed_messages()
        {
            var handler1 = new TestMultiHandler();
            var handler2 = new TestMultiHandler();
            var handler3 = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(handler1);
            _bus.Subscribe <TestMessage3>(handler1);

            _bus.Subscribe <TestMessage>(handler2);
            _bus.Subscribe <TestMessage2>(handler2);

            _bus.Subscribe <TestMessage2>(handler3);
            _bus.Subscribe <TestMessage3>(handler3);


            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());


            Assert.That(handler1.HandledMessages.ContainsSingle <TestMessage>() &&
                        handler1.HandledMessages.ContainsNo <TestMessage2>() &&
                        handler1.HandledMessages.ContainsSingle <TestMessage3>() &&

                        handler2.HandledMessages.ContainsSingle <TestMessage>() &&
                        handler2.HandledMessages.ContainsSingle <TestMessage2>() &&
                        handler2.HandledMessages.ContainsNo <TestMessage3>() &&

                        handler3.HandledMessages.ContainsNo <TestMessage>() &&
                        handler3.HandledMessages.ContainsSingle <TestMessage2>() &&
                        handler3.HandledMessages.ContainsSingle <TestMessage3>());
        }
        public void but_not_publishing_messages_noone_should_handle_any_messages()
        {
            var multiHandler = new TestMultiHandler();
            _bus.Subscribe<TestMessage>(multiHandler);
            _bus.Subscribe<TestMessage2>(multiHandler);
            _bus.Subscribe<TestMessage3>(multiHandler);

            Assert.That(multiHandler.HandledMessages.Count == 0);
        }
        public void multihandler_from_single_message_app_doesnt_throw()
        {
            var handler = new TestMultiHandler();
            _bus.Subscribe<TestMessage>(handler);
            _bus.Subscribe<TestMessage2>(handler);
            _bus.Subscribe<TestMessage3>(handler);

            Assert.DoesNotThrow(() => _bus.Unsubscribe<TestMessage>(handler));
        }
        public void but_not_publishing_messages_noone_should_handle_any_messages()
        {
            var multiHandler = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(multiHandler);
            _bus.Subscribe <TestMessage2>(multiHandler);
            _bus.Subscribe <TestMessage3>(multiHandler);

            Assert.That(multiHandler.HandledMessages.Count == 0);
        }
Beispiel #6
0
        public void multihandler_from_single_message_app_doesnt_throw()
        {
            var handler = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(handler);
            _bus.Subscribe <TestMessage2>(handler);
            _bus.Subscribe <TestMessage3>(handler);

            Assert.DoesNotThrow(() => _bus.Unsubscribe <TestMessage>(handler));
        }
        public void one_handler_to_few_messages_then_only_subscribed_should_be_handled()
        {
            var multiHandler = new TestMultiHandler();
            _bus.Subscribe<TestMessage>(multiHandler);
            _bus.Subscribe<TestMessage3>(multiHandler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(multiHandler.HandledMessages.ContainsSingle<TestMessage>() &&
                        multiHandler.HandledMessages.ContainsNo<TestMessage2>() &&
                        multiHandler.HandledMessages.ContainsSingle<TestMessage3>());
        }
        public void one_handler_to_few_messages_then_only_subscribed_should_be_handled()
        {
            var multiHandler = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(multiHandler);
            _bus.Subscribe <TestMessage3>(multiHandler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(multiHandler.HandledMessages.ContainsSingle <TestMessage>() &&
                        multiHandler.HandledMessages.ContainsNo <TestMessage2>() &&
                        multiHandler.HandledMessages.ContainsSingle <TestMessage3>());
        }
Beispiel #9
0
        public void handler_from_message_it_should_not_handle_this_message_anymore_and_still_handle_other_messages()
        {
            var handler = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(handler);
            _bus.Subscribe <TestMessage2>(handler);
            _bus.Subscribe <TestMessage3>(handler);

            _bus.Unsubscribe <TestMessage>(handler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(handler.HandledMessages.ContainsNo <TestMessage>() &&
                        handler.HandledMessages.ContainsSingle <TestMessage2>() &&
                        handler.HandledMessages.ContainsSingle <TestMessage3>());
        }
        public void handler_from_multiple_messages_they_all_should_not_be_handled_anymore()
        {
            var handler = new TestMultiHandler();
            _bus.Subscribe<TestMessage>(handler);
            _bus.Subscribe<TestMessage2>(handler);
            _bus.Subscribe<TestMessage3>(handler);

            _bus.Unsubscribe<TestMessage>(handler);
            _bus.Unsubscribe<TestMessage2>(handler);
            _bus.Unsubscribe<TestMessage3>(handler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(handler.HandledMessages.ContainsNo<TestMessage>() &&
                        handler.HandledMessages.ContainsNo<TestMessage2>() &&
                        handler.HandledMessages.ContainsNo<TestMessage3>());
        }
Beispiel #11
0
        public void handler_from_multiple_messages_they_all_should_not_be_handled_anymore()
        {
            var handler = new TestMultiHandler();

            _bus.Subscribe <TestMessage>(handler);
            _bus.Subscribe <TestMessage2>(handler);
            _bus.Subscribe <TestMessage3>(handler);

            _bus.Unsubscribe <TestMessage>(handler);
            _bus.Unsubscribe <TestMessage2>(handler);
            _bus.Unsubscribe <TestMessage3>(handler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(handler.HandledMessages.ContainsNo <TestMessage>() &&
                        handler.HandledMessages.ContainsNo <TestMessage2>() &&
                        handler.HandledMessages.ContainsNo <TestMessage3>());
        }
        public void handler_from_message_it_should_not_handle_this_message_anymore_and_still_handle_other_messages()
        {
            var handler = new TestMultiHandler();
            _bus.Subscribe<TestMessage>(handler);
            _bus.Subscribe<TestMessage2>(handler);
            _bus.Subscribe<TestMessage3>(handler);

            _bus.Unsubscribe<TestMessage>(handler);

            _bus.Publish(new TestMessage());
            _bus.Publish(new TestMessage2());
            _bus.Publish(new TestMessage3());

            Assert.That(handler.HandledMessages.ContainsNo<TestMessage>() &&
                        handler.HandledMessages.ContainsSingle<TestMessage2>() &&
                        handler.HandledMessages.ContainsSingle<TestMessage3>());
        }