Moved lru_cache to util, test to util/tests
This commit is contained in:
parent
dad001b9d4
commit
dcb2c42179
|
@ -0,0 +1,50 @@
|
|||
from pyqtgraph.util.lru_cache import LRUCache
|
||||
|
||||
def testLRU():
|
||||
lru = LRUCache(2, 1)
|
||||
# check twice
|
||||
checkLru(lru)
|
||||
checkLru(lru)
|
||||
|
||||
def checkLru(lru):
|
||||
lru[1] = 1
|
||||
lru[2] = 2
|
||||
lru[3] = 3
|
||||
|
||||
assert len(lru) == 2
|
||||
assert set([2, 3]) == set(lru.keys())
|
||||
assert set([2, 3]) == set(lru.values())
|
||||
|
||||
lru[2] = 2
|
||||
assert set([2, 3]) == set(lru.values())
|
||||
|
||||
lru[1] = 1
|
||||
set([2, 1]) == set(lru.values())
|
||||
|
||||
#Iterates from the used in the last access to others based on access time.
|
||||
assert [(2, 2), (1, 1)] == list(lru.iteritems(accessTime=True))
|
||||
lru[2] = 2
|
||||
assert [(1, 1), (2, 2)] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
del lru[2]
|
||||
assert [(1, 1), ] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
lru[2] = 2
|
||||
assert [(1, 1), (2, 2)] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
_a = lru[1]
|
||||
assert [(2, 2), (1, 1)] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
_a = lru[2]
|
||||
assert [(1, 1), (2, 2)] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
assert lru.get(2) == 2
|
||||
assert lru.get(3) == None
|
||||
assert [(1, 1), (2, 2)] == list(lru.iteritems(accessTime=True))
|
||||
|
||||
lru.clear()
|
||||
assert [] == list(lru.iteritems())
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
testLRU()
|
|
@ -1,58 +0,0 @@
|
|||
import unittest
|
||||
import os, sys
|
||||
## make sure this instance of pyqtgraph gets imported first
|
||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
||||
|
||||
## all tests should be defined with this class so we have the option to tweak it later.
|
||||
class TestCase(unittest.TestCase):
|
||||
|
||||
def testLRU(self):
|
||||
from pyqtgraph.lru_cache import LRUCache
|
||||
lru = LRUCache(2, 1)
|
||||
|
||||
def CheckLru():
|
||||
lru[1] = 1
|
||||
lru[2] = 2
|
||||
lru[3] = 3
|
||||
|
||||
self.assertEqual(2, len(lru))
|
||||
self.assertSetEqual(set([2, 3]), set(lru.keys()))
|
||||
self.assertSetEqual(set([2, 3]), set(lru.values()))
|
||||
|
||||
lru[2] = 2
|
||||
self.assertSetEqual(set([2, 3]), set(lru.values()))
|
||||
|
||||
lru[1] = 1
|
||||
self.assertSetEqual(set([2, 1]), set(lru.values()))
|
||||
|
||||
#Iterates from the used in the last access to others based on access time.
|
||||
self.assertEqual([(2, 2), (1, 1)], list(lru.iteritems(access_time=True)))
|
||||
lru[2] = 2
|
||||
self.assertEqual([(1, 1), (2, 2)], list(lru.iteritems(access_time=True)))
|
||||
|
||||
del lru[2]
|
||||
self.assertEqual([(1, 1), ], list(lru.iteritems(access_time=True)))
|
||||
|
||||
lru[2] = 2
|
||||
self.assertEqual([(1, 1), (2, 2)], list(lru.iteritems(access_time=True)))
|
||||
|
||||
_a = lru[1]
|
||||
self.assertEqual([(2, 2), (1, 1)], list(lru.iteritems(access_time=True)))
|
||||
|
||||
_a = lru[2]
|
||||
self.assertEqual([(1, 1), (2, 2)], list(lru.iteritems(access_time=True)))
|
||||
|
||||
self.assertEqual(lru.get(2), 2)
|
||||
self.assertEqual(lru.get(3), None)
|
||||
self.assertEqual([(1, 1), (2, 2)], list(lru.iteritems(access_time=True)))
|
||||
|
||||
lru.clear()
|
||||
self.assertEqual([], list(lru.iteritems()))
|
||||
|
||||
CheckLru()
|
||||
|
||||
# Check it twice...
|
||||
CheckLru()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Loading…
Reference in New Issue