示例#1
0
        public void GetNonExistingStateWithNullDefaultReturnsNullAndDoesNotWriteFile()
        {
            var stateCache = new StateCache(s_CacheDir);
            var state      = stateCache.GetState <CacheStateComponent>(new Hash128(42, 42, 42, 42));

            Assert.IsNull(state);

            stateCache.Flush();
            AssertCacheDirIsEmptyOrNonExistent();
        }
示例#2
0
        public void GetStateCreatesFileAndRemoveStateRemovesFile()
        {
            var stateCache   = new StateCache(s_CacheDir);
            var key          = new Hash128(42, 42, 42, 42);
            var defaultState = new CacheStateComponent();
            var state        = stateCache.GetState(key, () => defaultState);

            Assert.AreEqual(defaultState, state);

            stateCache.Flush();

            var di = new DirectoryInfo(s_CacheDir);

            Assert.IsTrue(di.Exists);
            var filePath = stateCache.GetFilePathForKey(key);

            Assert.IsTrue(File.Exists(filePath));

            stateCache.RemoveState(key);
            Assert.IsFalse(File.Exists(filePath));
        }