public async Task ClearClearsTheCacheButNotFailedItems() { var cache = new CacheWithFail <string, Data>(); cache.Add("Foo", new Data { String = "Foo", Int = 1 }); await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => (Data)null)); cache.Clear(); Data data; cache.TryGetValue("Foo", out data).Should().Be(CacheState.NotFound); var called = false; await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => { called = true; return((Data)null); })); called.Should().BeFalse(); }
public async Task ClearClearsTheCache() { var cache = new CacheWithFail <string, Data>(); cache.Add("Foo", new Data { String = "Foo", Int = 1 }); await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => (Data)null)); cache.Clear(); Data data; cache.TryGetValue("Foo", out data).Should().Be(CacheState.NotFound); }
public void LoadCacheFromJson(string json) { if (json.IsNullOrEmpty()) { return; } try { var caches = JsonConvert.DeserializeObject <Dictionary <string, string> >(json); string output; if (caches.TryGetValue("_seriesCache", out output)) { _seriesCache.LoadCacheFromJson(output); } } catch (Exception ex) { Debug.WriteLine("Failed to deserialize caches: " + ex.Message); _seriesCache.Clear(); } }
public async Task ClearClearsTheCacheButNotFailedItems() { var cache = new CacheWithFail<string, Data>(); cache.Add("Foo", new Data { String = "Foo", Int = 1 }); await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => (Data)null)); cache.Clear(); Data data; cache.TryGetValue("Foo", out data).Should().Be(CacheState.NotFound); var called = false; await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => { called = true; return (Data)null; })); called.Should().BeFalse(); }
public async Task ClearClearsTheCache() { var cache = new CacheWithFail<string, Data>(); cache.Add("Foo", new Data { String = "Foo", Int = 1 }); await cache.GetOrAddAsync("Bar", async s => await Task.Run(() => (Data)null)); cache.Clear(); Data data; cache.TryGetValue("Foo", out data).Should().Be(CacheState.NotFound); }