public void InitializerDoesNotHoldRerenceToInitializedObjects()
        {
            var container = new TestServiceContainer();

            var initializable = container.GetService<InitializableObject>();
            Assert.IsTrue(initializable.InitializeCalled);
            var weakRef = new WeakReference(initializable);
            Assert.IsTrue(weakRef.IsAlive);

            initializable = null;
            GC.Collect(0, GCCollectionMode.Forced);
            Assert.IsFalse(weakRef.IsAlive);
        }
Example #2
0
        public void InitializerDoesNotHoldRerenceToInitializedObjects()
        {
            var container = new TestServiceContainer();

            var initializable = container.GetService <InitializableObject>();

            Assert.IsTrue(initializable.InitializeCalled);
            var weakRef = new WeakReference(initializable);

            Assert.IsTrue(weakRef.IsAlive);

            initializable = null;
            GC.Collect(0, GCCollectionMode.Forced);
            Assert.IsFalse(weakRef.IsAlive);
        }