public void Test_Messenger_Collect_Test(Type type, bool isWeak) { var messenger = (IMessenger)Activator.CreateInstance(type); WeakReference weakRecipient; void Test() { var recipient = new RecipientWithNoMessages { Number = 42 }; weakRecipient = new WeakReference(recipient); messenger.Register <MessageA>(recipient, (r, m) => { }); Assert.IsTrue(messenger.IsRegistered <MessageA>(recipient)); Assert.IsTrue(weakRecipient.IsAlive); GC.KeepAlive(recipient); } Test(); GC.Collect(); Assert.AreEqual(!isWeak, weakRecipient.IsAlive); GC.KeepAlive(messenger); }
public void Test_Messenger_IRecipient_NoMessages(Type type) { var messenger = (IMessenger)Activator.CreateInstance(type); var recipient = new RecipientWithNoMessages(); messenger.RegisterAll(recipient); // We just need to verify we got here with no errors, this // recipient has no declared handlers so there's nothing to do }
public void Test_Messenger_IRecipient_NoMessages() { var messenger = new Messenger(); var recipient = new RecipientWithNoMessages(); messenger.RegisterAll(recipient); // We just need to verify we got here with no errors, this // recipient has no declared handlers so there's nothing to do }
public void Test_Messenger_RegisterWithTypeParameter(Type type) { var messenger = (IMessenger)Activator.CreateInstance(type); var recipient = new RecipientWithNoMessages { Number = 42 }; int number = 0; messenger.Register <RecipientWithNoMessages, MessageA>(recipient, (r, m) => number = r.Number); messenger.Send <MessageA>(); Assert.AreEqual(number, 42); }