コード例 #1
0
ファイル: TestStress.cs プロジェクト: tm011064/Luputa
        private Dictionary <int, string> GetDictionaryFromCache(TestCacheItem testCacheItem, int numberOfItems)
        {
            Trace.WriteLine("Method call: GetDictionaryFromCache(TestCacheItem, int)");

            return(SlimCacheManager.LoadFromCache <Dictionary <int, string> >(
                       testCacheItem.ToString()
                       , delegate { return GetHugeDictionary(numberOfItems); }));
        }
        public void InsertAtHead_Until_Remove(int capacity)
        {
            var cacheItem  = new TestCacheItem();
            var linkedList = new LRUSpecializedLinkedList <TestCacheItem>(capacity);

            //添加缓存到头部,直到第一个缓存被遗弃
            linkedList.InsertAtHead(new(cacheItem));
            Assert.IsTrue(linkedList.ElementAt(0).Equals(cacheItem));

            for (int i = 0; i < capacity - 1; i++)
            {
                linkedList.InsertAtHead(new(new()));
                Assert.IsTrue(linkedList.ElementAt(i + 1).Equals(cacheItem));
                TwoWaySizeCheck(i + 2, linkedList);
            }

            Assert.IsTrue(linkedList.ElementAt(capacity - 1).Equals(cacheItem));
            linkedList.InsertAtHead(new(new()));
            Assert.IsFalse(linkedList.ElementAt(capacity - 1).Equals(cacheItem));
            TwoWaySizeCheck(capacity, linkedList);
        }