public void InnerListTest()
{
var dict = new LRUCacheDictionary<string, string>
{
["key1"] = "value1",
["key2"] = "value2",
["key3"] = "value3",
};
var node = dict.innerList.First;
Assert.Equal("key3", node.Value.Key);
node = node.Next;
Assert.Equal("key2", node.Value.Key);
node = node.Next;
Assert.Equal("key1", node.Value.Key);
// 2 -> 3 -> 1 の順に値を参照
var x = dict["key2"];
x = dict["key3"];
x = dict["key1"];
// 直近に参照した順で並んでいるかテスト
node = dict.innerList.First;
Assert.Equal("key1", node.Value.Key);
node = node.Next;
Assert.Equal("key3", node.Value.Key);
node = node.Next;
Assert.Equal("key2", node.Value.Key);
}