public void TestPublicClassPrivateNamedMethod() { Reset(); const int index = 99; _itemPublic = new PublicTestClass(index); _reference = new WeakReference(_itemPublic); _action = _itemPublic.GetFunc(WeakActionTestCase.PrivateNamedMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( PublicTestClass.Expected + PublicTestClass.Private + index, PublicTestClass.Result); Assert.AreEqual( PublicTestClass.Expected + PublicTestClass.Private + index, result); _itemPublic = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPublicClassPublicStaticMethod() { Reset(); _itemPublic = new PublicTestClass(); _reference = new WeakReference(_itemPublic); _action = _itemPublic.GetFunc(WeakActionTestCase.PublicStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(); Assert.AreEqual( PublicTestClass.Expected + PublicTestClass.PublicStatic, PublicTestClass.Result); Assert.AreEqual( PublicTestClass.Expected + PublicTestClass.PublicStatic, result); _itemPublic = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }
public void TestPublicClassPublicStaticMethod() { Reset(); const string parameter = "My parameter"; _itemPublic = new PublicTestClass<string>(); _reference = new WeakReference(_itemPublic); _action = _itemPublic.GetFunc(WeakActionTestCase.PublicStaticMethod); Assert.IsTrue(_reference.IsAlive); Assert.IsTrue(_action.IsAlive); string result = _action.Execute(parameter); Assert.AreEqual( PublicTestClass<string>.Expected + PublicTestClass<string>.PublicStatic + parameter, PublicTestClass<string>.Result); Assert.AreEqual( PublicTestClass<string>.Expected + PublicTestClass<string>.PublicStatic + parameter, result); _itemPublic = null; GC.Collect(); Assert.IsFalse(_reference.IsAlive); }