public void SuccessfulDisposeTest() { TestItem item = new TestItem(); Assert.IsFalse(item.HasReferences); TestObjectReference ref1 = new TestObjectReference(item); Assert.IsTrue(item.HasReferences); TestObjectReference ref2 = new TestObjectReference(item); Assert.IsTrue(item.HasReferences); ref1.Dispose(); Assert.IsTrue(item.HasReferences); ref2.Dispose(); Assert.IsFalse(item.HasReferences); }
public void SuccessfulFinalizeTest() { TestItem item = new TestItem(); Assert.IsFalse(item.HasReferences); TestObjectReference ref1 = new TestObjectReference(item); Assert.IsTrue(item.HasReferences); TestObjectReference ref2 = new TestObjectReference(item); Assert.IsTrue(item.HasReferences); ref1 = null; GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsTrue(item.HasReferences); ref2 = null; GC.Collect(); GC.WaitForPendingFinalizers(); Assert.IsFalse(item.HasReferences); }