ソースを参照

lrucache: change test case to py.test

I re-wrote lrucache (and it seems like no-one had looked at it much
before :).  I was told my test function would have been simpler in
native py.test, so let's have a go converting it all.

We can avoid any reference to unittest, because lrucache doesn't write
files so it doesn't need any of our custom assertion helpers.
Alan Jenkins 10 年 前
コミット
02b3fbb401
1 ファイル変更30 行追加27 行削除
  1. 30 27
      borg/testsuite/lrucache.py

+ 30 - 27
borg/testsuite/lrucache.py

@@ -1,32 +1,35 @@
 from ..lrucache import LRUCache
-from . import BaseTestCase
+import pytest
 from tempfile import TemporaryFile
 
 
-class LRUCacheTestCase(BaseTestCase):
+class TestLRUCache:
 
-    def test(self):
+    def test_lrucache(self):
         c = LRUCache(2, dispose=lambda _: None)
-        self.assert_equal(len(c), 0)
+        assert len(c) == 0
+        assert c.items() == set()
         for i, x in enumerate('abc'):
             c[x] = i
-        self.assert_equal(len(c), 2)
-        self.assert_equal(c.items(), set([('b', 1), ('c', 2)]))
-        self.assert_equal(False, 'a' in c)
-        self.assert_equal(True, 'b' in c)
-        self.assert_raises(KeyError, lambda: c['a'])
-        self.assert_equal(c['b'], 1)
-        self.assert_equal(c['c'], 2)
+        assert len(c) == 2
+        assert c.items() == set([('b', 1), ('c', 2)])
+        assert 'a' not in c
+        assert 'b' in c
+        with pytest.raises(KeyError):
+            c['a']
+        assert c['b'] == 1
+        assert c['c'] == 2
         c['d'] = 3
-        self.assert_equal(len(c), 2)
-        self.assert_equal(c['c'], 2)
-        self.assert_equal(c['d'], 3)
+        assert len(c) == 2
+        assert c['c'] == 2
+        assert c['d'] == 3
         del c['c']
-        self.assert_equal(len(c), 1)
-        self.assert_raises(KeyError, lambda: c['c'])
-        self.assert_equal(c['d'], 3)
+        assert len(c) == 1
+        with pytest.raises(KeyError):
+            c['c']
+        assert c['d'] == 3
         c.clear()
-        self.assert_equal(c.items(), set())
+        assert c.items() == set()
 
     def test_dispose(self):
         c = LRUCache(2, dispose=lambda f: f.close())
@@ -35,15 +38,15 @@ class LRUCacheTestCase(BaseTestCase):
         f3 = TemporaryFile()
         c[1] = f1
         c[2] = f2
-        self.assert_equal(False, f2.closed)
+        assert not 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)
+        assert 1 not in c
+        assert f1.closed
+        assert 2 in c
+        assert not f2.closed
         del c[2]
-        self.assert_equal(False, 2 in c)
-        self.assert_equal(True, f2.closed)
+        assert 2 not in c
+        assert f2.closed
         c.clear()
-        self.assert_equal(c.items(), set())
-        self.assert_equal(True, f3.closed)
+        assert not c.items()
+        assert f3.closed