OpenTween.LRUCacheDictionaryTest.TrimOrderTest C# (CSharp) Method

TrimOrderTest() private method

private TrimOrderTest ( ) : void
return void
        public void TrimOrderTest()
        {
            var dict = new LRUCacheDictionary<string, string>()
            {
                ["key1"] = "value1",
                ["key2"] = "value2",
                ["key3"] = "value3",
                ["key4"] = "value4",
                ["key5"] = "value5",
            };

            // 4 -> 2 -> 3 -> 1 -> 5 の順で参照
            var x = dict["key4"];
            x = dict["key2"];
            x = dict["key3"];
            x = dict["key1"];
            x = dict["key5"];

            // 3 個までに縮小
            dict.TrimLimit = 3;
            dict.Trim();

            // 直近に参照された 3 -> 1 -> 5 のみ残っているはず
            Assert.True(dict.ContainsKey("key1"));
            Assert.False(dict.ContainsKey("key2"));
            Assert.True(dict.ContainsKey("key3"));
            Assert.False(dict.ContainsKey("key4"));
            Assert.True(dict.ContainsKey("key5"));
        }