public void TryGetValue_ReturnsDefaultIfNotExists() { var cache = new NanoCache <string, int>(); cache.TryGetValue("item", out var value); Assert.AreEqual(0, value); }
public void Set_StoresANewValueIntoTheCache() { var cache = new NanoCache <string, int>(); cache.Set("item", 999); Assert.AreEqual(cache["item"], 999); }
public void Ctor_UsesDefaultEqualityComparer() { var cache = new NanoCache <string, int> { ["a"] = 999 }; Assert.AreEqual(cache["A"], 0); }
public void TryGetValue_ReturnsTrueIfItemDoesExist() { var cache = new NanoCache <string, int> { ["item"] = 1234 }; Assert.IsTrue(cache.TryGetValue("item", out _)); }
public void Count_IsIncrementedWhenItemIsAdded() { var cache = new NanoCache <string, int> { ["1"] = 1 }; Assert.AreEqual(1, cache.Count); }
public void Indexer_StoresANewValueIntoTheCache() { var cache = new NanoCache <string, int> { ["item"] = 999 }; Assert.AreEqual(cache["item"], 999); }
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 TryGetValue_ReturnsItemIfExists() { var cache = new NanoCache <string, int> { ["item"] = 1234 }; cache.TryGetValue("item", out var value); Assert.AreEqual(1234, value); }
public void Ctor_TakesEqualityComparer_IntoConsideration() { var cache = new NanoCache <string, int>(StringComparer.OrdinalIgnoreCase) { ["a"] = 999 }; Assert.AreEqual(cache["A"], 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_ReturnsTrueIfItemRemoved() { var cache = new NanoCache <string, int> { ["item"] = 999 }; Assert.IsTrue(cache.Remove("item")); }
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 Count_IsDecrementedWhenItemIsRemoved() { var cache = new NanoCache <string, int> { ["1"] = 1 }; cache.Remove("1"); Assert.AreEqual(0, cache.Count); }
public void Indexer_RemovesTheValueFromTheCacheIfDefaultProvided() { var cache = new NanoCache <string, int> { ["item"] = 999, ["item"] = 0 }; Assert.IsFalse(cache.Remove("item")); }
public void Indexer_ReplacesAnExistingValueInTheCache() { var cache = new NanoCache <string, int> { ["item"] = 999, ["item"] = 111 }; Assert.AreEqual(cache["item"], 111); }
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 Remove_RemovesAnExistingItemFromTheCache() { var cache = new NanoCache <string, int> { ["item"] = 999 }; cache.Remove("item"); Assert.AreEqual(cache["item"], 0); }
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 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_IsNotIncrementedWhenItemIsUpdated() { var cache = new NanoCache <string, int> { ["1"] = 1, ["1"] = 2 }; Assert.AreEqual(1, cache.Count); }
public void Count_IsDecrementedWhenItemIsReplacedWithDefaultValue() { var cache = new NanoCache <string, int> { ["1"] = 1, ["1"] = 0 }; Assert.AreEqual(0, 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 Flush_DoesNothingForUnExpiredItems() { var cache = new NanoCache <string, int> { ["1"] = 1 }; cache.Flush(); Assert.AreEqual(1, cache.Count); }
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 Set_RemovesTheValueFromTheCacheIfDefaultProvided() { var cache = new NanoCache <string, int> { ["item"] = 999 }; cache.Set("item", 0); Assert.IsFalse(cache.Remove("item")); }
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 TryGetValue_ThrowsException_IfKeyIsNull() { var cache = new NanoCache <string, int>(); Assert.Throws <ArgumentNullException>(() => cache.TryGetValue(null, out _)); }
public void TryGetValue_ReturnsFalseIfItemDoesNotExist() { var cache = new NanoCache <string, int>(); Assert.IsFalse(cache.TryGetValue("item", out _)); }
public void Set_ThrowsException_ForNullKey() { var cache = new NanoCache <string, int>(); Assert.Throws <ArgumentNullException>(() => cache.Set(null, 100)); }
public void Set_ThrowsException_ForTtlLessThanMinusOne() { var cache = new NanoCache <string, int>(); Assert.Throws <ArgumentOutOfRangeException>(() => cache.Set("a", 1, -2)); }