예제 #1
0
        public void INvalidate_Clears_Cache()
        {
            InMemoryCache cache = new InMemoryCache();

            cache.Create(new Movie()
            {
                MovieId = 1, Title = "New Movie"
            });

            cache.Invalidate();
            List <Movie> movies = cache.SearchMovies(new SearchObject("MovieId", "=", "1"));

            Assert.AreEqual(movies.Count, 0);
        }
예제 #2
0
        public void CachingEntry_InvalidatedAll_DoesntExist()
        {
            var config = InitConfig();
            var _cache = new InMemoryCache(config);

            var key   = "test_value";
            var value = new CachedModel();

            _cache.Set(key, value);

            _cache.Invalidate();

            var cachedValue = _cache.Get <CachedModel>(key);

            Assert.Null(cachedValue);
        }
예제 #3
0
        public void CachingReloadableEntry_InvalidatedAll_DoesntExist()
        {
            var config = InitConfig();
            var _cache = new InMemoryCache(config);

            var key   = "test_value";
            var value = new CachedModel();
            var entry = new ReloadableCacheEntry(key, () => { value.Value++; return(value); });

            _cache.Set(entry);

            _cache.Invalidate();

            var cachedValue = _cache.Get <CachedModel>(key);

            Assert.Null(cachedValue);
        }
예제 #4
0
        public void CachingEntry_UnexistantInvalidated_Exists()
        {
            var config = InitConfig();
            var _cache = new InMemoryCache(config);

            var key           = "test_value";
            var unexistantKey = "test_value_2";
            var value         = new CachedModel();

            _cache.Set(key, value);

            _cache.Invalidate(unexistantKey);

            var cachedValue = _cache.Get <CachedModel>(key);

            Assert.NotNull(cachedValue);
        }