summaryrefslogtreecommitdiff
path: root/rdiff-backup/testing
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/testing')
-rw-r--r--rdiff-backup/testing/rorpitertest.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/rdiff-backup/testing/rorpitertest.py b/rdiff-backup/testing/rorpitertest.py
index 35f5916..acde06c 100644
--- a/rdiff-backup/testing/rorpitertest.py
+++ b/rdiff-backup/testing/rorpitertest.py
@@ -280,7 +280,8 @@ class CacheIndexableTest(unittest.TestCase):
assert ci.get((3,)) == self.d[(3,)]
assert ci.get((4,)) == self.d[(4,)]
- assert ci.get((1,)) is None
+ assert ci.get((3,5)) is None
+ self.assertRaises(AssertionError, ci.get, (1,))
def testEqual(self):
"""Make sure CI doesn't alter properties of underlying iter"""
@@ -288,7 +289,30 @@ class CacheIndexableTest(unittest.TestCase):
l1 = list(self.get_iter())
l2 = list(rorpiter.CacheIndexable(iter(l1), 10))
assert l1 == l2, (l1, l2)
-
+
+
+class CacheIndexableProcessorTest(unittest.TestCase):
+ def function(self, elem):
+ """Called by CIP on each elem"""
+ self.l.append(elem)
+
+ def testReorder(self):
+ """Test the reordering abilities of CIP"""
+ CIP = rorpiter.CachedIndexableProcessor(self.function, 3)
+ in_list = [rorpiter.IndexedTuple((x,), (x,)) for x in range(6)]
+ self.l = []
+
+ CIP(in_list[0])
+ CIP(in_list[2])
+ CIP(in_list[1])
+ CIP(in_list[5])
+ CIP(in_list[3])
+ CIP(in_list[4])
+ self.assertRaises(AssertionError, CIP, in_list[0])
+
+ CIP.close()
+ assert self.l == in_list, (self.l, in_list)
+
if __name__ == "__main__": unittest.main()