public void TestDeletingRecipient() { var recipient1 = new TestRecipient1(); var recipient2 = new TestRecipient1(); const string TestContent1 = "abcd"; const string TestContent2 = "efgh"; Messenger.Reset(); Messenger.Default.Register<string>(recipient1, recipient1.ReceiveMessage); Messenger.Default.Register<string>(recipient2, recipient2.ReceiveMessage); Assert.AreEqual(null, recipient1.ReceivedContentString); Assert.AreEqual(null, recipient2.ReceivedContentString); Messenger.Default.Send(TestContent1); Assert.AreEqual(TestContent1, recipient1.ReceivedContentString); Assert.AreEqual(TestContent1, recipient2.ReceivedContentString); recipient1 = null; GC.Collect(); Messenger.Default.Send(TestContent2); Assert.AreEqual(TestContent2, recipient2.ReceivedContentString); recipient2 = null; GC.Collect(); Messenger.Default.Send(TestContent2); }
public void TestDeletingRecipient() { var recipient1 = new TestRecipient1(); var recipient2 = new TestRecipient1(); const string TestContent1 = "abcd"; const string TestContent2 = "efgh"; Messenger.Reset(); Messenger.Default.Register <string>(recipient1, recipient1.ReceiveMessage); Messenger.Default.Register <string>(recipient2, recipient2.ReceiveMessage); Assert.AreEqual(null, recipient1.ReceivedContentString); Assert.AreEqual(null, recipient2.ReceivedContentString); Messenger.Default.Send(TestContent1); Assert.AreEqual(TestContent1, recipient1.ReceivedContentString); Assert.AreEqual(TestContent1, recipient2.ReceivedContentString); recipient1 = null; GC.Collect(); Messenger.Default.Send(TestContent2); Assert.AreEqual(TestContent2, recipient2.ReceivedContentString); recipient2 = null; GC.Collect(); Messenger.Default.Send(TestContent2); }
public void TestMultipleMessengerInstances() { var messenger1 = new Messenger(); var messenger2 = new Messenger(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); messenger1.Register <string>(recipient11, recipient11.ReceiveMessage); messenger2.Register <string>(recipient12, recipient12.ReceiveMessage); messenger1.Register <string>(recipient21, recipient21.ReceiveMessage); messenger2.Register <string>(recipient22, recipient22.ReceiveMessage); const string TestContent1 = "abcd"; const string TestContent2 = "efgh"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); messenger1.Send(TestContent1); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(TestContent1, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); messenger2.Send(TestContent2); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(TestContent2, recipient12.ReceivedContentString); Assert.AreEqual(TestContent1, recipient21.ReceivedContentString); Assert.AreEqual(TestContent2, recipient22.ReceivedContentString); }
public void TestMultipleMessengerInstances() { var messenger1 = new Messenger(); var messenger2 = new Messenger(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); messenger1.Register<string>(recipient11, recipient11.ReceiveMessage); messenger2.Register<string>(recipient12, recipient12.ReceiveMessage); messenger1.Register<string>(recipient21, recipient21.ReceiveMessage); messenger2.Register<string>(recipient22, recipient22.ReceiveMessage); const string TestContent1 = "abcd"; const string TestContent2 = "efgh"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); messenger1.Send(TestContent1); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(TestContent1, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); messenger2.Send(TestContent2); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(TestContent2, recipient12.ReceivedContentString); Assert.AreEqual(TestContent1, recipient21.ReceivedContentString); Assert.AreEqual(TestContent2, recipient22.ReceivedContentString); }
public void TestBroadcastToOneType() { Messenger.Reset(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); Messenger.Default.Register <string>(recipient11, recipient11.ReceiveMessage); Messenger.Default.Register <string>(recipient12, recipient12.ReceiveMessage); Messenger.Default.Register <string>(recipient21, recipient21.ReceiveMessage); Messenger.Default.Register <string>(recipient22, recipient22.ReceiveMessage); const string TestContent1 = "abcd"; const string TestContent2 = "efgh"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Messenger.Default.Send <string, TestRecipient1>(TestContent1); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(TestContent1, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Messenger.Default.Send <string, TestRecipient2>(TestContent2); Assert.AreEqual(TestContent1, recipient11.ReceivedContentString); Assert.AreEqual(TestContent1, recipient12.ReceivedContentString); Assert.AreEqual(TestContent2, recipient21.ReceivedContentString); Assert.AreEqual(TestContent2, recipient22.ReceivedContentString); }
public void TestBroadcastToOneType() { Messenger.Reset(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); Messenger.Default.Register<string>(recipient11, recipient11.ReceiveMessage); Messenger.Default.Register<string>(recipient12, recipient12.ReceiveMessage); Messenger.Default.Register<string>(recipient21, recipient21.ReceiveMessage); Messenger.Default.Register<string>(recipient22, recipient22.ReceiveMessage); const string testContent1 = "abcd"; const string testContent2 = "efgh"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Messenger.Default.Send<string, TestRecipient1>(testContent1); Assert.AreEqual(testContent1, recipient11.ReceivedContentString); Assert.AreEqual(testContent1, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Messenger.Default.Send<string, TestRecipient2>(testContent2); Assert.AreEqual(testContent1, recipient11.ReceivedContentString); Assert.AreEqual(testContent1, recipient12.ReceivedContentString); Assert.AreEqual(testContent2, recipient21.ReceivedContentString); Assert.AreEqual(testContent2, recipient22.ReceivedContentString); }
public void TestBroadcastToOneInterface() { Messenger.Reset(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); var recipient31 = new TestRecipient3(); var recipient32 = new TestRecipient3(); Messenger.Default.Register<string>(recipient11, recipient11.ReceiveMessage); Messenger.Default.Register<string>(recipient12, recipient12.ReceiveMessage); Messenger.Default.Register<string>(recipient21, recipient21.DoSomething); Messenger.Default.Register<string>(recipient22, recipient22.DoSomething); Messenger.Default.Register<string>(recipient31, recipient31.DoSomething); Messenger.Default.Register<string>(recipient32, recipient32.DoSomething); const string testContent1 = "abcd"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Assert.AreEqual(null, recipient31.ReceivedContentString); Assert.AreEqual(null, recipient32.ReceivedContentString); Messenger.Default.Send<string, ITestRecipient>(testContent1); Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(testContent1, recipient21.ReceivedContentString); Assert.AreEqual(testContent1, recipient22.ReceivedContentString); Assert.AreEqual(testContent1, recipient31.ReceivedContentString); Assert.AreEqual(testContent1, recipient32.ReceivedContentString); }
public void TestBroadcastToOneInterface() { Messenger.Reset(); var recipient11 = new TestRecipient1(); var recipient12 = new TestRecipient1(); var recipient21 = new TestRecipient2(); var recipient22 = new TestRecipient2(); var recipient31 = new TestRecipient3(); var recipient32 = new TestRecipient3(); Messenger.Default.Register <string>(recipient11, recipient11.ReceiveMessage); Messenger.Default.Register <string>(recipient12, recipient12.ReceiveMessage); Messenger.Default.Register <string>(recipient21, recipient21.DoSomething); Messenger.Default.Register <string>(recipient22, recipient22.DoSomething); Messenger.Default.Register <string>(recipient31, recipient31.DoSomething); Messenger.Default.Register <string>(recipient32, recipient32.DoSomething); const string TestContent1 = "abcd"; Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(null, recipient21.ReceivedContentString); Assert.AreEqual(null, recipient22.ReceivedContentString); Assert.AreEqual(null, recipient31.ReceivedContentString); Assert.AreEqual(null, recipient32.ReceivedContentString); Messenger.Default.Send <string, ITestRecipient>(TestContent1); Assert.AreEqual(null, recipient11.ReceivedContentString); Assert.AreEqual(null, recipient12.ReceivedContentString); Assert.AreEqual(TestContent1, recipient21.ReceivedContentString); Assert.AreEqual(TestContent1, recipient22.ReceivedContentString); Assert.AreEqual(TestContent1, recipient31.ReceivedContentString); Assert.AreEqual(TestContent1, recipient32.ReceivedContentString); }