Exemple #1
0
        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"]);
        }
Exemple #2
0
        public void Set_StoresANewValueIntoTheCache()
        {
            var cache = new NanoCache <string, int>();

            cache.Set("item", 999);
            Assert.AreEqual(cache["item"], 999);
        }
Exemple #3
0
        public void TryGetValue_ReturnsFalseIfItemExpired()
        {
            var cache = new NanoCache <string, int>();

            cache.Set("item", 1234, 10);
            Thread.Sleep(100);

            Assert.IsFalse(cache.TryGetValue("item", out _));
        }
Exemple #4
0
        public void Remove_DoesNotAcknowledgeExpiredItems()
        {
            var cache = new NanoCache <string, int>();

            cache.Set("item", 1234, 10);
            Thread.Sleep(100);

            Assert.IsFalse(cache.Remove("item"));
        }
Exemple #5
0
        public void Indexer_DoesNotAcknowledgeExpiredItems()
        {
            var cache = new NanoCache <string, int>();

            cache.Set("item", 1234, 10);
            Thread.Sleep(100);

            Assert.AreEqual(0, cache["item"]);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public void Count_IncludesExpiredItems()
        {
            var cache = new NanoCache <string, int>();

            cache.Set("1", 1, 10);

            Thread.Sleep(100);

            Assert.AreEqual(1, cache.Count);
        }
Exemple #8
0
        public void Set_ReplacesAnExistingValueInTheCache()
        {
            var cache = new NanoCache <string, int>
            {
                ["item"] = 999
            };

            cache.Set("item", 111);

            Assert.AreEqual(cache["item"], 111);
        }
Exemple #9
0
        public void Set_RemovesTheValueFromTheCacheIfDefaultProvided()
        {
            var cache = new NanoCache <string, int>
            {
                ["item"] = 999
            };

            cache.Set("item", 0);

            Assert.IsFalse(cache.Remove("item"));
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        public void Set_ThrowsException_ForTtlLessThanMinusOne()
        {
            var cache = new NanoCache <string, int>();

            Assert.Throws <ArgumentOutOfRangeException>(() => cache.Set("a", 1, -2));
        }
Exemple #13
0
        public void Set_ThrowsException_ForNullKey()
        {
            var cache = new NanoCache <string, int>();

            Assert.Throws <ArgumentNullException>(() => cache.Set(null, 100));
        }