Esempio n. 1
0
        public void Indexer_TryGetValue()
        {
            using (var timedDictionary = new TimedDictionary <string, object>())
            {
                timedDictionary["test"] = 1;

                object value;
                Assert.IsTrue(timedDictionary.TryGetValue("test", out value));
            }
        }
Esempio n. 2
0
        public void Indexer_TryGetValue_StringComparer_InvariantCultureIgnoreCase()
        {
            using (var timedDictionary = new TimedDictionary <string, object>(1, 1, StringComparer.InvariantCultureIgnoreCase))
            {
                timedDictionary["Test"] = 1;

                object value;
                Assert.IsTrue(timedDictionary.TryGetValue("test", out value));
                Assert.AreEqual(1, timedDictionary["test"]);
            }
        }
Esempio n. 3
0
        public void AddOrUpdate_value_UpdateAccessTime_false()
        {
            using (var timedDictionary = new TimedDictionary <string, object>())
            {
                timedDictionary.AddOrUpdate("test", "value", (k, v) => v);

                TimedValue <object> timedValue;
                Assert.IsTrue(timedDictionary.TryGetValue("test", out timedValue));

                var lastAccessed = timedValue.LastAccessUtc;
                Thread.Sleep(15);

                timedDictionary.AddOrUpdate("test", "", (k, v) => v, false);
                Assert.AreEqual(timedValue.LastAccessUtc, lastAccessed);
            }
        }
Esempio n. 4
0
        public void GetOrAdd_factory_UpdateAccessTime_false()
        {
            using (var timedDictionary = new TimedDictionary <string, object>())
            {
                timedDictionary.GetOrAdd("test", k => "value");

                TimedValue <object> timedValue;
                Assert.IsTrue(timedDictionary.TryGetValue("test", out timedValue));

                var lastAccessed = timedValue.LastAccessUtc;
                Thread.Sleep(15);

                timedDictionary.GetOrAdd("test", k => "value", false);
                Assert.AreEqual(timedValue.LastAccessUtc, lastAccessed);
            }
        }
Esempio n. 5
0
        public void GetOrAdd_value_UpdateAccessTime_true()
        {
            using (var timedDictionary = new TimedDictionary <string, object>())
            {
                timedDictionary.GetOrAdd("test", "value");

                TimedValue <object> timedValue;
                Assert.IsTrue(timedDictionary.TryGetValue("test", out timedValue));

                var lastAccessed = timedValue.LastAccessUtc;
                Thread.Sleep(15);

                timedDictionary.GetOrAdd("test", "");
                Assert.Greater(timedValue.LastAccessUtc, lastAccessed);
            }
        }