public void AddWithTagsTest() { var provider = new MemoryCacheProvider(); string key = "AddTest" + DateTime.Now.Ticks; string[] tags = new[] { "a", "b" }; var cacheKey = new CacheKey(key, tags); var value = "Test Value " + DateTime.Now; var cachePolicy = new CachePolicy(); bool result = provider.Add(cacheKey, value, cachePolicy); result.Should().BeTrue(); // look in underlying MemoryCache string innerKey = MemoryCacheProvider.GetKey(cacheKey); var cachedValue = MemoryCache.Default.Get(innerKey); cachedValue.Should().NotBeNull(); cachedValue.Should().Be(value); // make sure cache key is in underlying MemoryCache var cacheTag = new CacheTag("a"); string tagKey = MemoryCacheProvider.GetTagKey(cacheTag); tagKey.Should().NotBeNullOrEmpty(); var cachedTag = MemoryCache.Default.Get(tagKey); cachedTag.Should().NotBeNull(); }
public void RemoveTest() { var provider = new MemoryCacheProvider(); var cacheKey = new CacheKey("AddTest" + DateTime.Now.Ticks); var value = "Test Value " + DateTime.Now; var cachePolicy = new CachePolicy(); bool result = provider.Add(cacheKey, value, cachePolicy); result.Should().BeTrue(); // look in underlying MemoryCache string innerKey = MemoryCacheProvider.GetKey(cacheKey); var cachedValue = MemoryCache.Default.Get(innerKey); cachedValue.Should().NotBeNull(); cachedValue.Should().Be(value); var removed = provider.Remove(cacheKey); removed.Should().NotBeNull(); removed.Should().Be(value); // look in underlying MemoryCache var previous = MemoryCache.Default.Get(innerKey); previous.Should().BeNull(); }
public void SetTest() { var provider = new MemoryCacheProvider(); var cacheKey = new CacheKey("SetTest" + DateTime.Now.Ticks); var value = "Set Value " + DateTime.Now; var cachePolicy = new CachePolicy(); bool result = provider.Set(cacheKey, value, cachePolicy); result.Should().BeTrue(); // look in underlying MemoryCache string innerKey = MemoryCacheProvider.GetKey(cacheKey); var cachedValue = MemoryCache.Default.Get(innerKey); cachedValue.Should().NotBeNull(); cachedValue.Should().Be(value); var value2 = "Set Value " + DateTime.Now; bool result2 = provider.Set(cacheKey, value2, cachePolicy); result2.Should().BeTrue(); var cachedValue2 = MemoryCache.Default.Get(innerKey); cachedValue2.Should().NotBeNull(); cachedValue2.Should().Be(value2); }
public void GetOrAddTest() { var provider = new MemoryCacheProvider(); var cacheKey = new CacheKey("AddTest" + DateTime.Now.Ticks); var value = "Test Value " + DateTime.Now; var cachePolicy = new CachePolicy(); int callCount = 0; Func <CacheKey, object> valueFactory = k => { callCount++; return(value); }; var result = provider.GetOrAdd(cacheKey, valueFactory, cachePolicy); result.Should().Be(value); callCount.Should().Be(1); // look in underlying MemoryCache string innerKey = MemoryCacheProvider.GetKey(cacheKey); var cachedValue = MemoryCache.Default.Get(innerKey); cachedValue.Should().NotBeNull(); cachedValue.Should().Be(value); callCount = 0; var result2 = provider.GetOrAdd(cacheKey, valueFactory, cachePolicy); result2.Should().Be(value); callCount.Should().Be(0); }