Esempio n. 1
0
        public void CreateWithLazyLocking()
        {
            var result = DataStoreFactory.CreateWithLazyLocking <string, object>();

            Assert.That(result, Is.TypeOf(typeof(LazyLockingDataStoreAdapter <string, object>)));
            var innerStore = PrivateInvoke.GetNonPublicField(result, "_innerDataStore");

            Assert.That(innerStore, Is.TypeOf(typeof(LockingDataStoreDecorator <string, DoubleCheckedLockingContainer <LazyLockingDataStoreAdapter <string, object> .Wrapper> >)));
            var innerDecoratorStore = PrivateInvoke.GetNonPublicField(innerStore, "_innerStore");

            Assert.That(innerDecoratorStore, Is.TypeOf(typeof(SimpleDataStore <string, DoubleCheckedLockingContainer <LazyLockingDataStoreAdapter <string, object> .Wrapper> >)));
        }