mirror of https://github.com/borgbackup/borg.git
lrucache: test added code
Tests saved my butt, so I'd better contribute :). These tests have been tested - substituting a null dispose function causes an immediate failure.
This commit is contained in:
parent
5e0013c5db
commit
0ee78240ee
|
@ -1,5 +1,6 @@
|
|||
from ..lrucache import LRUCache
|
||||
from . import BaseTestCase
|
||||
from tempfile import TemporaryFile
|
||||
|
||||
|
||||
class LRUCacheTestCase(BaseTestCase):
|
||||
|
@ -24,3 +25,25 @@ class LRUCacheTestCase(BaseTestCase):
|
|||
self.assert_equal(len(c), 1)
|
||||
self.assert_raises(KeyError, lambda: c['c'])
|
||||
self.assert_equal(c['d'], 3)
|
||||
c.clear()
|
||||
self.assert_equal(c.items(), set())
|
||||
|
||||
def test_dispose(self):
|
||||
c = LRUCache(2, dispose=lambda f: f.close())
|
||||
f1 = TemporaryFile()
|
||||
f2 = TemporaryFile()
|
||||
f3 = TemporaryFile()
|
||||
c[1] = f1
|
||||
c[2] = f2
|
||||
self.assert_equal(False, f2.closed)
|
||||
c[3] = f3
|
||||
self.assert_equal(False, 1 in c)
|
||||
self.assert_equal(True, f1.closed)
|
||||
self.assert_equal(True, 2 in c)
|
||||
self.assert_equal(False, f2.closed)
|
||||
del c[2]
|
||||
self.assert_equal(False, 2 in c)
|
||||
self.assert_equal(True, f2.closed)
|
||||
c.clear()
|
||||
self.assert_equal(c.items(), set())
|
||||
self.assert_equal(True, f3.closed)
|
||||
|
|
Loading…
Reference in New Issue