示例#1
0
        public void weak_property_adapter_shall_allow_adapter_to_be_released()
        {
            WeakReference Create(TestObject testObject)
            {
                WeakAdapter   WeakAdapter          = new WeakAdapter(testObject);
                WeakReference weakAdapterReference = new WeakReference(WeakAdapter);

                return(weakAdapterReference);
            }

            TestObject    TestObject           = new TestObject();
            WeakReference WeakAdapterReference = Create(TestObject);

            GC.Collect();

            Assert.IsFalse(WeakAdapterReference.IsAlive);
        }
示例#2
0
        public void weak_property_adapter_shall_allow_adapter_to_be_released()
        {
            WeakReference WeakAdapterReference;

            WeakReference Create() //Needed for scope. Otherwise GC will not work
            {
                TestObject  TestObject  = new TestObject();
                WeakAdapter WeakAdapter = new WeakAdapter(TestObject);

                return(new WeakReference(WeakAdapter));
            }

            WeakAdapterReference = Create();

            GC.Collect();

            Assert.IsFalse(WeakAdapterReference.IsAlive);
        }