public void Reset()
 {
     _recipient = null;
     _recipientInternal = null;
     _recipientPrivate = null;
     _recipientReference = null;
 }
 public void Reset()
 {
     _recipient          = null;
     _recipientInternal  = null;
     _recipientPrivate   = null;
     _recipientReference = null;
 }
        public void TestGarbageCollectionForAnonymousMethodPrivate()
        {
            Messenger.Reset();

            _recipientPrivate   = new TestRecipientPrivate(WeakActionTestCase.AnonymousMethod);
            _recipientReference = new WeakReference(_recipientPrivate);

            Assert.AreEqual(null, _recipientPrivate.Content);
            Assert.IsTrue(_recipientReference.IsAlive);

            const string message = "Hello world";

            Messenger.Default.Send(message);

            Assert.AreEqual(message, _recipientPrivate.Content);

            _recipientPrivate = null;
            GC.Collect();

#if SILVERLIGHT
            // Cannot GC the anonymous method reference in Silverlight
            Assert.IsTrue(_recipientReference.IsAlive);

            _recipientPrivate = (TestRecipientPrivate)_recipientReference.Target;
            Messenger.Default.Unregister(_recipientPrivate);
            _recipientPrivate = null;
            GC.Collect();
            Assert.IsFalse(_recipientReference.IsAlive);
#else
            Assert.IsFalse(_recipientReference.IsAlive);
#endif
        }
        public void TestGarbageCollectionForAnonymousMethodPrivate()
        {
            Messenger.Reset();

            _recipientPrivate = new TestRecipientPrivate(WeakActionTestCase.AnonymousMethod);
            _recipientReference = new WeakReference(_recipientPrivate);

            Assert.AreEqual(null, _recipientPrivate.Content);
            Assert.IsTrue(_recipientReference.IsAlive);

            const string message = "Hello world";

            Messenger.Default.Send(message);

            Assert.AreEqual(message, _recipientPrivate.Content);

            _recipientPrivate = null;
            GC.Collect();
            Assert.IsFalse(_recipientReference.IsAlive);
        }
        public void TestGarbageCollectionForAnonymousStaticMethodPrivate()
        {
            Messenger.Reset();
            TestRecipientPrivate.Reset();

            _recipientPrivate   = new TestRecipientPrivate(WeakActionTestCase.AnonymousStaticMethod);
            _recipientReference = new WeakReference(_recipientPrivate);

            Assert.AreEqual(null, TestRecipientPrivate.ContentStatic);
            Assert.IsTrue(_recipientReference.IsAlive);

            const string message = "Hello world";

            Messenger.Default.Send(message);

            Assert.AreEqual(message, TestRecipientPrivate.ContentStatic);

            _recipientPrivate = null;
            GC.Collect();

            Assert.IsFalse(_recipientReference.IsAlive);
        }
        public void TestGarbageCollectionForAnonymousMethodPrivate()
        {
            Messenger.Reset();

            _recipientPrivate = new TestRecipientPrivate(WeakActionTestCase.AnonymousMethod);
            _recipientReference = new WeakReference(_recipientPrivate);

            Assert.AreEqual(null, _recipientPrivate.Content);
            Assert.IsTrue(_recipientReference.IsAlive);

            const string message = "Hello world";

            Messenger.Default.Send(message);

            Assert.AreEqual(message, _recipientPrivate.Content);

            _recipientPrivate = null;
            GC.Collect();

#if SILVERLIGHT
            // Cannot GC the anonymous method reference in Silverlight
            Assert.IsTrue(_recipientReference.IsAlive);

            _recipientPrivate = (TestRecipientPrivate)_recipientReference.Target;
            Messenger.Default.Unregister(_recipientPrivate);
            _recipientPrivate = null;
            GC.Collect();
            Assert.IsFalse(_recipientReference.IsAlive);

#else
            Assert.IsFalse(_recipientReference.IsAlive);
#endif
        }