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!"); }
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" })); }