public void Set_RefreshesValueOfExpiredItem() { var cache = new NanoCache <string, int>(); cache.Set("item", 1234, 10); Thread.Sleep(100); cache.Set("item", 9876, 10); Assert.AreEqual(9876, cache["item"]); }
public void Set_StoresANewValueIntoTheCache() { var cache = new NanoCache <string, int>(); cache.Set("item", 999); Assert.AreEqual(cache["item"], 999); }
public void TryGetValue_ReturnsFalseIfItemExpired() { var cache = new NanoCache <string, int>(); cache.Set("item", 1234, 10); Thread.Sleep(100); Assert.IsFalse(cache.TryGetValue("item", out _)); }
public void Remove_DoesNotAcknowledgeExpiredItems() { var cache = new NanoCache <string, int>(); cache.Set("item", 1234, 10); Thread.Sleep(100); Assert.IsFalse(cache.Remove("item")); }
public void Indexer_DoesNotAcknowledgeExpiredItems() { var cache = new NanoCache <string, int>(); cache.Set("item", 1234, 10); Thread.Sleep(100); Assert.AreEqual(0, cache["item"]); }
public void Count_IsUpdatedWhenExpiredItemIsFlushed2() { var cache = new NanoCache <string, int>(); cache.Set("1", 1, 10); Thread.Sleep(100); Assert.AreEqual(0, cache["1"]); Assert.AreEqual(0, cache.Count); }
public void Count_IncludesExpiredItems() { var cache = new NanoCache <string, int>(); cache.Set("1", 1, 10); Thread.Sleep(100); Assert.AreEqual(1, cache.Count); }
public void Set_ReplacesAnExistingValueInTheCache() { var cache = new NanoCache <string, int> { ["item"] = 999 }; cache.Set("item", 111); Assert.AreEqual(cache["item"], 111); }
public void Set_RemovesTheValueFromTheCacheIfDefaultProvided() { var cache = new NanoCache <string, int> { ["item"] = 999 }; cache.Set("item", 0); Assert.IsFalse(cache.Remove("item")); }
public void Flush_RemovesTheExpiredItems() { var cache = new NanoCache <string, int>(); cache.Set("1", 1, 10); Thread.Sleep(100); cache.Flush(); Assert.AreEqual(0, cache.Count); }
public void Flush_RemovesTheExpiredItemsWhileLeavingTheNormalOnes() { var cache = new NanoCache <string, int>(); cache.Set("1", 1, 10); Thread.Sleep(100); cache["2"] = 2; cache.Flush(); Assert.AreEqual(1, cache.Count); }
public void Set_ThrowsException_ForTtlLessThanMinusOne() { var cache = new NanoCache <string, int>(); Assert.Throws <ArgumentOutOfRangeException>(() => cache.Set("a", 1, -2)); }
public void Set_ThrowsException_ForNullKey() { var cache = new NanoCache <string, int>(); Assert.Throws <ArgumentNullException>(() => cache.Set(null, 100)); }