Example #1
0
        public void TestMultipleRecipients()
        {
            var messenger  = new Messenger();
            var recipient1 = new OldTestRecipient();
            var recipient2 = new OldTestRecipient();
            var recipient3 = new OldTestRecipient();

            messenger.Register(recipient1, typeof(OldTestMessage));
            messenger.Register(recipient2, typeof(OldTestMessage));
            messenger.Register(recipient3, typeof(OldTestMessage));

            Assert.IsNull(recipient1.Sender);
            Assert.IsNull(recipient1.Content);
            Assert.IsNull(recipient2.Content);
            Assert.IsNull(recipient2.Sender);
            Assert.IsNull(recipient3.Content);
            Assert.IsNull(recipient3.Sender);

            const string TestString = "Hello world";
            var          message    = new OldTestMessage(this, TestString);

            messenger.Broadcast(message);

            Assert.AreEqual(TestString, recipient1.Content);
            Assert.AreEqual(this, recipient1.Sender);
            Assert.AreEqual(TestString, recipient2.Content);
            Assert.AreEqual(this, recipient2.Sender);
            Assert.AreEqual(TestString, recipient3.Content);
            Assert.AreEqual(this, recipient3.Sender);
        }
Example #2
0
        public void TestRegisterForSubclasses5()
        {
            Messenger.Reset();
            var recipientForSubclasses = new OldTestRecipient();
            var recipientNoSubclasses  = new OldTestRecipient();

            Messenger.Default.Register(recipientForSubclasses, typeof(GenericMessage <>), true);
            Messenger.Default.Register(recipientNoSubclasses, typeof(GenericMessage <>));

            var message = new OldTestMessage(this, "Test string");

            Messenger.Default.Broadcast(message);

            Assert.AreEqual(null, recipientForSubclasses.Sender);
            Assert.AreEqual(null, recipientForSubclasses.ObjectContent1);
            Assert.AreEqual(null, recipientNoSubclasses.Sender);
            Assert.AreEqual(null, recipientNoSubclasses.ObjectContent1);
        }
Example #3
0
        public void TestMultipleMessageTypes()
        {
            var messenger = new Messenger();
            var recipient = new OldTestRecipient();

            messenger.Register(recipient, typeof(OldTestMessage));
            messenger.Register(recipient, typeof(GenericMessage <InvalidOperationException>));
            messenger.Register(recipient, typeof(GenericMessage <MissingMethodException>));

            Assert.IsNull(recipient.Content);
            Assert.IsNull(recipient.ObjectContent1);
            Assert.IsNull(recipient.ObjectContent2);

            var testObject1    = new InvalidOperationException();
            var genericMessage = new GenericMessage <InvalidOperationException>(this, testObject1);

            messenger.Broadcast(genericMessage);
            Assert.AreEqual(this, recipient.Sender);
            Assert.IsNull(recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.IsNull(recipient.ObjectContent2);

            var testObject2     = new MissingMethodException();
            var genericMessage2 = new GenericMessage <MissingMethodException>(this, testObject2);

            messenger.Broadcast(genericMessage2);
            Assert.AreEqual(this, recipient.Sender);
            Assert.IsNull(recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.AreEqual(testObject2, recipient.ObjectContent2);

            const string TestString = "Hello world";
            var          message    = new OldTestMessage(this, TestString);

            messenger.Broadcast(message);
            Assert.AreEqual(this, recipient.Sender);
            Assert.AreEqual(TestString, recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.AreEqual(testObject2, recipient.ObjectContent2);
        }
Example #4
0
        public void DisposeTest()
        {
            Messenger.Reset();

            var vm = new OldTestViewModel();
            Messenger.Default.Register(vm, typeof(OldTestMessage));

            const string Content1 = "Hello world";
            const string Content2 = "Another message";

            var message1 = new OldTestMessage(this, Content1);
            Messenger.Default.Broadcast(message1);

            Assert.AreEqual(Content1, vm.ReceivedContent);

            vm.Dispose();

            var message2 = new OldTestMessage(this, Content2);
            Messenger.Default.Broadcast(message2);

            Assert.AreEqual(Content1, vm.ReceivedContent);
        }
Example #5
0
        public void TestMultipleMessageTypes()
        {
            var messenger = new Messenger();
            var recipient = new OldTestRecipient();

            messenger.Register(recipient, typeof(OldTestMessage));
            messenger.Register(recipient, typeof(GenericMessage<InvalidOperationException>));
            messenger.Register(recipient, typeof(GenericMessage<MissingMethodException>));

            Assert.IsNull(recipient.Content);
            Assert.IsNull(recipient.ObjectContent1);
            Assert.IsNull(recipient.ObjectContent2);

            var testObject1 = new InvalidOperationException();
            var genericMessage = new GenericMessage<InvalidOperationException>(this, testObject1);
            messenger.Broadcast(genericMessage);
            Assert.AreEqual(this, recipient.Sender);
            Assert.IsNull(recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.IsNull(recipient.ObjectContent2);

            var testObject2 = new MissingMethodException();
            var genericMessage2 = new GenericMessage<MissingMethodException>(this, testObject2);
            messenger.Broadcast(genericMessage2);
            Assert.AreEqual(this, recipient.Sender);
            Assert.IsNull(recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.AreEqual(testObject2, recipient.ObjectContent2);

            const string TestString = "Hello world";
            var message = new OldTestMessage(this, TestString);
            messenger.Broadcast(message);
            Assert.AreEqual(this, recipient.Sender);
            Assert.AreEqual(TestString, recipient.Content);
            Assert.AreEqual(testObject1, recipient.ObjectContent1);
            Assert.AreEqual(testObject2, recipient.ObjectContent2);
        }
Example #6
0
        public void TestMultipleRecipients()
        {
            var messenger = new Messenger();
            var recipient1 = new OldTestRecipient();
            var recipient2 = new OldTestRecipient();
            var recipient3 = new OldTestRecipient();

            messenger.Register(recipient1, typeof(OldTestMessage));
            messenger.Register(recipient2, typeof(OldTestMessage));
            messenger.Register(recipient3, typeof(OldTestMessage));

            Assert.IsNull(recipient1.Sender);
            Assert.IsNull(recipient1.Content);
            Assert.IsNull(recipient2.Content);
            Assert.IsNull(recipient2.Sender);
            Assert.IsNull(recipient3.Content);
            Assert.IsNull(recipient3.Sender);

            const string TestString = "Hello world";
            var message = new OldTestMessage(this, TestString);
            messenger.Broadcast(message);

            Assert.AreEqual(TestString, recipient1.Content);
            Assert.AreEqual(this, recipient1.Sender);
            Assert.AreEqual(TestString, recipient2.Content);
            Assert.AreEqual(this, recipient2.Sender);
            Assert.AreEqual(TestString, recipient3.Content);
            Assert.AreEqual(this, recipient3.Sender);
        }
Example #7
0
        public void TestRegisterForSubclasses5()
        {
            Messenger.Reset();
            var recipientForSubclasses = new OldTestRecipient();
            var recipientNoSubclasses = new OldTestRecipient();
            Messenger.Default.Register(recipientForSubclasses, typeof(GenericMessage<>), true);
            Messenger.Default.Register(recipientNoSubclasses, typeof(GenericMessage<>));

            var message = new OldTestMessage(this, "Test string");
            Messenger.Default.Broadcast(message);

            Assert.AreEqual(null, recipientForSubclasses.Sender);
            Assert.AreEqual(null, recipientForSubclasses.ObjectContent1);
            Assert.AreEqual(null, recipientNoSubclasses.Sender);
            Assert.AreEqual(null, recipientNoSubclasses.ObjectContent1);
        }
Example #8
0
 private void ReceiveTestMessage(OldTestMessage message)
 {
     Content = message.Content;
 }
Example #9
0
 private void ReceiveTestMessage(OldTestMessage message)
 {
     Content = message.Content;
 }