public void LazyLoader_Unit_Dispose_Optimal() { Boolean releaseManagedResourcesCalled = false; Action releaseManagedResourcesAction = () => releaseManagedResourcesCalled = true; Boolean releaseUnmanagedResourcesCalled = false; Action releaseUnmanagedResourcesAction = () => releaseUnmanagedResourcesCalled = true; Func<Object> initializer = () => new MockDisposableBase(releaseManagedResourcesAction, releaseUnmanagedResourcesAction); LazyLoader<Object> target = new LazyLoader<Object>(initializer); target.Load(); Assert.AreEqual(false, releaseManagedResourcesCalled); Assert.AreEqual(false, releaseUnmanagedResourcesCalled); target.Dispose(); Assert.AreEqual(true, releaseManagedResourcesCalled); Assert.AreEqual(true, releaseUnmanagedResourcesCalled); Assert.AreEqual(false, target.IsInitialized); }
public void LazyLoader_Unit_Dispose_NotDisposable() { LazyLoader<String> target = new LazyLoader<String>(() => "This is a test."); target.Load(); target.Dispose(); Assert.AreEqual(false, target.IsInitialized); }