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); }
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); }
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); }
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); }
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); }
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); }
private void ReceiveTestMessage(OldTestMessage message) { Content = message.Content; }