public void TestPrivateNestedClassAnonymousStaticMethod() { Reset(); _itemPrivate = new PrivateNestedTestClass(); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetFunc(WeakActionTestCase.AnonymousStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); var result = _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected, PrivateNestedTestClass.Result); Assert.AreEqual( PrivateNestedTestClass.Expected, result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPrivateNestedClassAnonymousMethod() { Reset(); const int index = 99; _itemPrivate = new PrivateNestedTestClass(index); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetFunc(WeakActionTestCase.AnonymousMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); var result = _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected + index, PrivateNestedTestClass.Result); Assert.AreEqual( PrivateNestedTestClass.Expected + index, result); _itemPrivate = null; GC.Collect(); #if SILVERLIGHT Assert.IsTrue(_reference.IsAlive); // Anonymous, private and internal methods cannot be GCed _action = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); #else Assert.IsFalse(_reference.IsAlive); #endif }
public void TestPrivateClassAnonymousStaticMethod() { Reset(); const string parameter = "My parameter"; _itemPrivate = new PrivateNestedTestClass <string>(); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetFunc(WeakActionTestCase.AnonymousStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); var result = _action.Execute(parameter); Assert.AreEqual( PrivateNestedTestClass <string> .Expected + parameter, PrivateNestedTestClass <string> .Result); Assert.AreEqual( PrivateNestedTestClass <string> .Expected + parameter, result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
private void Reset() { _itemPublic = null; _itemInternal = null; _itemPrivate = null; _reference = null; }
public void TestPrivateClassAnonymousMethod() { Reset(); const int index = 99; const string parameter = "My parameter"; _itemPrivate = new PrivateNestedTestClass <string>(index); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetAction(WeakActionTestCase.AnonymousMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(parameter); Assert.AreEqual( PrivateNestedTestClass <string> .Expected + index + parameter, PrivateNestedTestClass <string> .Result); _itemPrivate = null; GC.Collect(); #if SILVERLIGHT Assert.IsTrue(_reference.IsAlive); // Anonymous, private and internal methods cannot be GCed _action = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); #else Assert.IsFalse(_reference.IsAlive); #endif }
private void Reset() { #if !WP70 _itemPublic = null; #endif _itemInternal = null; _itemPrivate = null; _reference = null; }
public void TestPrivateNestedClassInternalStaticMethod() { Reset(); _itemPrivate = new PrivateNestedTestClass(); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetAction(WeakActionTestCase.InternalStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected + PrivateNestedTestClass.InternalStatic, PrivateNestedTestClass.Result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPrivateNestedClassAnonymousStaticMethod() { Reset(); _itemPrivate = new PrivateNestedTestClass(); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetAction(WeakActionTestCase.AnonymousStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected, PrivateNestedTestClass.Result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPrivateNestedClassAnonymousMethod() { Reset(); const int index = 99; _itemPrivate = new PrivateNestedTestClass(index); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetAction(WeakActionTestCase.AnonymousMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected + index, PrivateNestedTestClass.Result); _itemPrivate = null; GC.Collect(); #if SILVERLIGHT Assert.IsTrue(_reference.IsAlive); // Anonymous, private and internal methods cannot be GCed _action = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); #else Assert.IsFalse(_reference.IsAlive); #endif }
public void TestPrivateNestedClassPublicStaticMethod() { Reset(); _itemPrivate = new PrivateNestedTestClass(); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetFunc(WeakActionTestCase.PublicStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected + PrivateNestedTestClass.PublicStatic, PrivateNestedTestClass.Result); Assert.AreEqual( PrivateNestedTestClass.Expected + PrivateNestedTestClass.PublicStatic, result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPrivateNestedClassInternalNamedMethod() { Reset(); const int index = 99; _itemPrivate = new PrivateNestedTestClass(index); _reference = new WeakReference(_itemPrivate); _action = _itemPrivate.GetFunc(WeakActionTestCase.InternalNamedMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( PrivateNestedTestClass.Expected + PrivateNestedTestClass.Internal + index, PrivateNestedTestClass.Result); Assert.AreEqual( PrivateNestedTestClass.Expected + PrivateNestedTestClass.Internal + index, result); _itemPrivate = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }