当前位置: 首页>>代码示例>>Python>>正文


Python LRU.set_size方法代码示例

本文整理汇总了Python中lru.LRU.set_size方法的典型用法代码示例。如果您正苦于以下问题:Python LRU.set_size方法的具体用法?Python LRU.set_size怎么用?Python LRU.set_size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lru.LRU的用法示例。


在下文中一共展示了LRU.set_size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_capacity_set

# 需要导入模块: from lru import LRU [as 别名]
# 或者: from lru.LRU import set_size [as 别名]
 def test_capacity_set(self):
     for size in SIZES:
         l = LRU(size)
         for i in range(size+5):
             l[i] = str(i)
         l.set_size(size+10)
         self.assertTrue(size+10 == l.get_size())
         self.assertTrue(len(l) == size)
         for i in range(size+20):
             l[i] = str(i)
         self.assertTrue(len(l) == size+10)
         l.set_size(size+10-1)
         self.assertTrue(len(l) == size+10-1)
开发者ID:snorfalorpagus,项目名称:lru-dict,代码行数:15,代码来源:test_lru.py

示例2: test_callback

# 需要导入模块: from lru import LRU [as 别名]
# 或者: from lru.LRU import set_size [as 别名]
    def test_callback(self):

        counter = [0]

        first_key = 'a'
        first_value = 1

        def callback(key, value):
            self.assertEqual(key, first_key)
            self.assertEqual(value, first_value)
            counter[0] += 1

        l = LRU(1, callback=callback)
        l[first_key] = first_value
        l['b'] = 1              # test calling the callback

        self.assertEqual(counter[0], 1)
        self.assertEqual(l.keys(), ['b'])

        l['b'] = 2              # doesn't call callback
        self.assertEqual(counter[0], 1)
        self.assertEqual(l.keys(), ['b'])
        self.assertEqual(l.values(), [2])


        l = LRU(1, callback=callback)
        l[first_key] = first_value

        l.set_callback(None)
        l['c'] = 1              # doesn't call callback
        self.assertEqual(counter[0], 1)
        self.assertEqual(l.keys(), ['c'])

        l.set_callback(callback)
        del l['c']              # doesn't call callback
        self.assertEqual(counter[0], 1)
        self.assertEqual(l.keys(), [])

        l = LRU(2, callback=callback)
        l['a'] = 1              # test calling the callback
        l['b'] = 2              # test calling the callback

        self.assertEqual(counter[0], 1)
        self.assertEqual(l.keys(), ['b', 'a'])
        l.set_size(1)
        self.assertEqual(counter[0], 2) # callback invoked
        self.assertEqual(l.keys(), ['b'])
开发者ID:amitdev,项目名称:lru-dict,代码行数:49,代码来源:test_lru.py


注:本文中的lru.LRU.set_size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。