Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }