public void DictionaryExpiresStaleItems()
        {
            var dict = new ExpirableItemDictionary<string, object>(TimeSpan.FromMilliseconds(50));
            dict.Add("a", 1);
            dict.Add("b", 2, TimeSpan.FromMilliseconds(10));
            dict.Add("c", 3, DateTime.MaxValue);

            Assert.IsTrue(dict.ContainsKey("a"));
            Assert.IsTrue(dict.ContainsKey("b"));
            Assert.IsTrue(dict.ContainsKey("c"));

            Thread.Sleep(51);

            Assert.IsFalse(dict.ContainsKey("a"));
            Assert.IsFalse(dict.ContainsKey("b"));
            Assert.IsTrue(dict.ContainsKey("c"));
        }
 public void DictionaryDoesNotExpiredNonStaleItems()
 {
     using (var dictionary = new ExpirableItemDictionary <string, object>())
     {
         dictionary.DefaultTimeToLive = TimeSpan.FromMilliseconds(50);
         dictionary.Add("a", "b");
         Assert.IsTrue(dictionary.ContainsKey("a"));
     }
 }
        public void DictionaryExpiresStaleItems()
        {
            var dict = new ExpirableItemDictionary <string, object>(TimeSpan.FromMilliseconds(50));

            dict.Add("a", 1);
            dict.Add("b", 2, TimeSpan.FromMilliseconds(10));
            dict.Add("c", 3, DateTime.MaxValue);

            Assert.IsTrue(dict.ContainsKey("a"));
            Assert.IsTrue(dict.ContainsKey("b"));
            Assert.IsTrue(dict.ContainsKey("c"));

            Thread.Sleep(51);

            Assert.IsFalse(dict.ContainsKey("a"));
            Assert.IsFalse(dict.ContainsKey("b"));
            Assert.IsTrue(dict.ContainsKey("c"));
        }
 public void DictionaryExpiresStaleItems()
 {
     using (var dictionary = new ExpirableItemDictionary <string, object>())
     {
         dictionary.DefaultTimeToLive = TimeSpan.FromMilliseconds(50);
         dictionary.Add("a", "b");
         Thread.Sleep(51);
         Assert.IsFalse(dictionary.ContainsKey("a"));
     }
 }