public void TestInternalClassAnonymousMethod() { Reset(); const int index = 99; _itemInternal = new InternalTestClass(index); _reference = new WeakReference(_itemInternal); _action = _itemInternal.GetAction(WeakActionTestCase.AnonymousMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(); Assert.AreEqual( InternalTestClass.Expected + index, InternalTestClass.Result); _itemInternal = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestInternalClassAnonymousStaticMethod() { Reset(); _itemInternal = new InternalTestClass(); _reference = new WeakReference(_itemInternal); _action = _itemInternal.GetFunc(WeakActionTestCase.AnonymousStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( InternalTestClass.Expected, InternalTestClass.Result); Assert.AreEqual( InternalTestClass.Expected, result); _itemInternal = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestInternalClassAnonymousMethod() { Reset(); const int index = 99; const string parameter = "My parameter"; _itemInternal = new InternalTestClass<string>(index); _reference = new WeakReference(_itemInternal); _action = _itemInternal.GetFunc(WeakActionTestCase.AnonymousMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(parameter); Assert.AreEqual( InternalTestClass<string>.Expected + index + parameter, InternalTestClass<string>.Result); Assert.AreEqual( InternalTestClass<string>.Expected + index + parameter, result); _itemInternal = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
private void Reset() { _itemPublic = null; _itemInternal = null; _reference = null; }
public void TestInternalClassPublicStaticMethod() { Reset(); _itemInternal = new InternalTestClass(); _reference = new WeakReference(_itemInternal); _action = _itemInternal.GetAction(WeakActionTestCase.PublicStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(); Assert.AreEqual( InternalTestClass.Expected + InternalTestClass.PublicStatic, InternalTestClass.Result); _itemInternal = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestInternalClassPublicNamedMethod() { Reset(); const int index = 99; _itemInternal = new InternalTestClass(index); _action = _itemInternal.GetFunc(WeakActionTestCase.PublicNamedMethod); _reference = new WeakReference(_itemInternal); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( InternalTestClass.Expected + InternalTestClass.Public + index, InternalTestClass.Result); Assert.AreEqual( InternalTestClass.Expected + InternalTestClass.Public + index, result); _itemInternal = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }