Beispiel #1
0
        public void LazyLoader_Integration_Serialization_Optimal()
        {
            const String Value = "This is a test.";
            LazyLoader<String> original = new LazyLoader<String>(() => Value);
            original.Load();

            LazyLoader<String> clone = original.SerializeBinary();
            Assert.AreEqual(false, clone.IsInitialized);
            Assert.AreEqual(Value, clone.Object);
        }
Beispiel #2
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);
        }
Beispiel #3
0
        public void LazyLoader_Unit_Load_Optimal()
        {
            const String Value = "This is a test.";
            LazyLoader<String> target = new LazyLoader<String>(() => Value);
            Assert.AreEqual(false, target.IsInitialized);

            target.Load();
            Assert.AreEqual(true, target.IsInitialized);
            Assert.AreEqual(Value, target.Object);
        }
Beispiel #4
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);
        }