Exemple #1
0
        static void Main(string[] args)
        {
            LRUCache <int, int> cache = new LRUCache <int, int>(3);

            cache.Add(1, 1);
            cache.Add(2, 2);
            cache.Add(3, 3);
            cache.Get(1);
            cache.Add(4, 4);
            Console.WriteLine("Hello World!");
        }
Exemple #2
0
        public void BasicTests()
        {
            LRUCache cache = new LRUCache(2);         //capacity

            cache.Put("1", "1");
            cache.Put("2", "2");
            Assert.AreEqual("1", cache.Get("1"));     // returns 1

            cache.Put("3", "3");                      // evicts key 2
            Assert.IsNull(cache.Get("2"));            // returns null (not found)

            cache.Put("4", "4");                      // evicts key 1
            Assert.IsNull(cache.Get("1"));            // returns null (not found)

            Assert.AreEqual("3", cache.Get("3"));     // returns 3
            Assert.AreEqual("4", cache.Get("4"));     // returns 4

            var seq = cache.GetKeySequence();

            Assert.IsTrue(seq.SequenceEqual(new string[] { "4", "3" }));
        }