[Zope-Checkins] CVS: Zope/lib/python/BTrees/tests - testBTrees.py:1.25
Andreas Jung
andreas@zope.com
Fri, 21 Dec 2001 09:25:38 -0500
Update of /cvs-repository/Zope/lib/python/BTrees/tests
In directory cvs.zope.org:/tmp/cvs-serv2986
Modified Files:
testBTrees.py
Log Message:
- added better test for values() with arguments
- replaced assert statements by calls to self.assertEqual() and
self.assert_()
=== Zope/lib/python/BTrees/tests/testBTrees.py 1.24 => 1.25 ===
#XXX BTree stuff doesn't implement comparison
if hasattr(t, 'items'):
- assert list(root[i].items()) == list(t.items())
+ self.assertEqual(list(root[i].items()) , list(t.items()))
else:
- assert list(root[i].keys()) == list(t.keys())
+ self.assertEqual(list(root[i].keys()) , list(t.keys()))
finally:
self._closeDB(root)
self._delDB()
@@ -90,9 +90,9 @@
root[i]._p_changed = None
get_transaction().commit()
if hasattr(t,'items'):
- assert list(root[i].items()) == list(t.items())
+ self.assertEqual(list(root[i].items()) , list(t.items()))
else:
- assert list(root[i].keys()) == list(t.keys())
+ self.assertEqual(list(root[i].keys()) , list(t.keys()))
finally:
self._closeDB(root)
self._delDB()
@@ -111,19 +111,19 @@
return self.t[1]
def testGetReturnsDefault(self):
- assert self.t.get(1) == None
- assert self.t.get(1, 'foo') == 'foo'
+ self.assertEqual(self.t.get(1) , None)
+ self.assertEqual(self.t.get(1, 'foo') , 'foo')
def testSetItemGetItemWorks(self):
self.t[1] = 1
a = self.t[1]
- assert a == 1, `a`
+ self.assertEqual(a , 1, `a`)
def testReplaceWorks(self):
self.t[1] = 1
- assert self.t[1] == 1, self.t[1]
+ self.assertEqual(self.t[1] , 1, self.t[1])
self.t[1] = 2
- assert self.t[1] == 2, self.t[1]
+ self.assertEqual(self.t[1] , 2, self.t[1])
def testLen(self):
added = {}
@@ -133,19 +133,28 @@
self.t[k] = x
added[k] = x
addl = added.keys()
- assert len(self.t) == len(addl), len(self.t)
+ self.assertEqual(len(self.t) , len(addl), len(self.t))
def testHasKeyWorks(self):
self.t[1] = 1
- assert self.t.has_key(1)
+ self.assert_(self.t.has_key(1))
def testValuesWorks(self):
for x in range(100):
self.t[x] = x*x
v = self.t.values()
for i in range(100):
- assert v[i]==i*i , (i*i,i)
+ self.assertEqual(v[i],i*i , (i*i,i))
+ def testValuesWorks1(self):
+
+ for x in range(100):
+ self.t[99-x] = x
+
+ for x in range(40):
+ lst = list(self.t.values(0+x,99-x))
+ lst.sort()
+ self.assertEqual(lst,range(0+x,99-x+1))
def testKeysWorks(self):
@@ -162,8 +171,8 @@
self.assertEqual(list(lst),range(0+x,99-x+1))
# BTree items must lie about their lengths, so we convert to list
- assert len(v) == 100, len(v)
- #assert len(v) == 100, len(v)
+ self.assertEqual(len(v) , 100, len(v))
+ #self.assertEqual(len(v) , 100, len(v))
def testItemsWorks(self):
for x in range(100):
@@ -171,8 +180,8 @@
v = self.t.items()
i = 0
for x in v:
- assert x[0] == i, (x[0], i)
- assert x[1] == i, (x[0], i)
+ self.assertEqual(x[0] , i, (x[0], i))
+ self.assertEqual(x[1] , i, (x[0], i))
i = i + 1
def testDeleteInvalidKeyRaisesKeyError(self):
@@ -192,12 +201,12 @@
self.t[4] = 150
del self.t[7]
t = self.t
- assert t.maxKey() == 10
- assert t.maxKey(6) == 6
- assert t.maxKey(9) == 8
- assert t.minKey() == 1
- assert t.minKey(3) == 3
- assert t.minKey(9) == 10
+ self.assertEqual(t.maxKey() , 10)
+ self.assertEqual(t.maxKey(6) , 6)
+ self.assertEqual(t.maxKey(9) , 8)
+ self.assertEqual(t.minKey() , 1)
+ self.assertEqual(t.minKey(3) , 3)
+ self.assertEqual(t.minKey(9) , 10)
def testClear(self):
r = range(100)
@@ -206,7 +215,7 @@
self.t[rnd] = 0
self.t.clear()
diff = lsubtract(list(self.t.keys()), [])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testUpdate(self):
"mapping update"
@@ -221,21 +230,21 @@
items.sort()
self.t.update(d)
- assert list(self.t.items()) == items
+ self.assertEqual(list(self.t.items()) , items)
self.t.clear()
- assert list(self.t.items()) == []
+ self.assertEqual(list(self.t.items()) , [])
self.t.update(l)
- assert list(self.t.items()) == items
+ self.assertEqual(list(self.t.items()) , items)
def testEmptyRangeSearches(self):
t=self.t
t.update([(1,1),(5,5),(9,9)])
- assert list(t.keys(-6,-4))==[], list(t.keys(-6,-4))
- assert list(t.keys(2,4))==[], list(t.keys(2,4))
- assert list(t.keys(6,8))==[], list(t.keys(6,8))
- assert list(t.keys(10,12))==[], list(t.keys(10,12))
+ self.assertEqual(list(t.keys(-6,-4)),[], list(t.keys(-6,-4)))
+ self.assertEqual(list(t.keys(2,4)),[], list(t.keys(2,4)))
+ self.assertEqual(list(t.keys(6,8)),[], list(t.keys(6,8)))
+ self.assertEqual(list(t.keys(10,12)),[], list(t.keys(10,12)))
class NormalSetTests(Base):
@@ -249,17 +258,17 @@
def testInsertReturnsValue(self):
t = self.t
- assert t.insert(5) == 1
+ self.assertEqual(t.insert(5) , 1)
def testDuplicateInsert(self):
t = self.t
t.insert(5)
- assert t.insert(5) == 0
+ self.assertEqual(t.insert(5) , 0)
def testInsert(self):
t = self.t
t.insert(1)
- assert t.has_key(1)
+ self.assert_(t.has_key(1))
def testBigInsert(self):
t = self.t
@@ -267,7 +276,7 @@
for x in r:
t.insert(x)
for x in r:
- assert t.has_key(x)
+ self.assert_(t.has_key(x))
def testRemoveSucceeds(self):
t = self.t
@@ -283,14 +292,14 @@
def testHasKeyFails(self):
t = self.t
- assert not t.has_key(1)
+ self.assert_(not t.has_key(1))
def testKeys(self):
t = self.t
r = xrange(1000)
for x in r: t.insert(x)
diff = lsubtract(t.keys(), r)
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testClear(self):
t = self.t
@@ -298,7 +307,7 @@
for x in r: t.insert(x)
t.clear()
diff = lsubtract(t.keys(), [])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testMaxKeyMinKey(self):
t = self.t
@@ -310,12 +319,12 @@
t.insert(10)
t.insert(6)
t.insert(4)
- assert t.maxKey() == 10
- assert t.maxKey(6) == 6
- assert t.maxKey(9) == 8
- assert t.minKey() == 1
- assert t.minKey(3) == 3
- assert t.minKey(9) == 10
+ self.assertEqual(t.maxKey() , 10)
+ self.assertEqual(t.maxKey(6) , 6)
+ self.assertEqual(t.maxKey(9) , 8)
+ self.assertEqual(t.minKey() , 1)
+ self.assertEqual(t.minKey(3) , 3)
+ self.assertEqual(t.minKey(9) , 10)
def testUpdate(self):
"mapping update"
@@ -330,29 +339,29 @@
items.sort()
self.t.update(l)
- assert list(self.t.keys()) == items
+ self.assertEqual(list(self.t.keys()) , items)
def testEmptyRangeSearches(self):
t=self.t
t.update([1,5,9])
- assert list(t.keys(-6,-4))==[], list(t.keys(-6,-4))
- assert list(t.keys(2,4))==[], list(t.keys(2,4))
- assert list(t.keys(6,8))==[], list(t.keys(6,8))
- assert list(t.keys(10,12))==[], list(t.keys(10,12))
+ self.assertEqual(list(t.keys(-6,-4)),[], list(t.keys(-6,-4)))
+ self.assertEqual(list(t.keys(2,4)),[], list(t.keys(2,4)))
+ self.assertEqual(list(t.keys(6,8)),[], list(t.keys(6,8)))
+ self.assertEqual(list(t.keys(10,12)),[], list(t.keys(10,12)))
class ExtendedSetTests(NormalSetTests):
def testLen(self):
t = self.t
r = xrange(10000)
for x in r: t.insert(x)
- assert len(t) == 10000, len(t)
+ self.assertEqual(len(t) , 10000, len(t))
def testGetItem(self):
t = self.t
r = xrange(10000)
for x in r: t.insert(x)
for x in r:
- assert t[x] == x
+ self.assertEqual(t[x] , x)
class BucketTests(MappingBase):
""" Tests common to all buckets """
@@ -370,7 +379,7 @@
self.t[4] = 99
del self.t[4]
diff = lsubtract(self.t.keys(), [1,2,3,5,6,10])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testDeleteOneChildWorks(self):
self.t[5] = 6
@@ -382,7 +391,7 @@
self.t[4] = 99
del self.t[3]
diff = lsubtract(self.t.keys(), [1,2,4,5,6,10])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testDeleteTwoChildrenNoInorderSuccessorWorks(self):
self.t[5] = 6
@@ -394,7 +403,7 @@
self.t[4] = 99
del self.t[2]
diff = lsubtract(self.t.keys(), [1,3,4,5,6,10])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testDeleteTwoChildrenInorderSuccessorWorks(self):
""" 7, 3, 8, 1, 5, 10, 6, 4 -- del 3 """
@@ -408,7 +417,7 @@
self.t[4] = 150
del self.t[3]
diff = lsubtract(self.t.keys(), [1,4,5,6,7,8,10])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testDeleteRootWorks(self):
""" 7, 3, 8, 1, 5, 10, 6, 4 -- del 7 """
@@ -422,7 +431,7 @@
self.t[4] = 150
del self.t[7]
diff = lsubtract(self.t.keys(), [1,3,4,5,6,8,10])
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testRandomNonOverlappingInserts(self):
added = {}
@@ -435,7 +444,7 @@
addl = added.keys()
addl.sort()
diff = lsubtract(list(self.t.keys()), addl)
- assert diff == [], (diff, addl, list(self.t.keys()))
+ self.assertEqual(diff , [], (diff, addl, list(self.t.keys())))
def testRandomOverlappingInserts(self):
added = {}
@@ -447,7 +456,7 @@
addl = added.keys()
addl.sort()
diff = lsubtract(self.t.keys(), addl)
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testRandomDeletes(self):
r = range(1000)
@@ -468,7 +477,7 @@
for x in deleted:
if self.t.has_key(x):
badones.append(x)
- assert badones == [], (badones, added, deleted)
+ self.assertEqual(badones , [], (badones, added, deleted))
def testTargetedDeletes(self):
r = range(1000)
@@ -480,16 +489,16 @@
del self.t[x]
except KeyError:
pass
- assert realseq(self.t.keys()) == [], realseq(self.t.keys())
+ self.assertEqual(realseq(self.t.keys()) , [], realseq(self.t.keys()))
def testPathologicalRightBranching(self):
r = range(1000)
for x in r:
self.t[x] = 1
- assert realseq(self.t.keys()) == r, realseq(self.t.keys())
+ self.assertEqual(realseq(self.t.keys()) , r, realseq(self.t.keys()))
for x in r:
del self.t[x]
- assert realseq(self.t.keys()) == [], realseq(self.t.keys())
+ self.assertEqual(realseq(self.t.keys()) , [], realseq(self.t.keys()))
def testPathologicalLeftBranching(self):
r = range(1000)
@@ -497,11 +506,11 @@
revr.reverse()
for x in revr:
self.t[x] = 1
- assert realseq(self.t.keys()) == r, realseq(self.t.keys())
+ self.assertEqual(realseq(self.t.keys()) , r, realseq(self.t.keys()))
for x in revr:
del self.t[x]
- assert realseq(self.t.keys()) == [], realseq(self.t.keys())
+ self.assertEqual(realseq(self.t.keys()) , [], realseq(self.t.keys()))
def testSuccessorChildParentRewriteExerciseCase(self):
add_order = [
@@ -547,14 +556,14 @@
for x in delete_order:
try: del self.t[x]
except KeyError:
- if self.t.has_key(x): assert 1==2,"failed to delete %s" % x
+ if self.t.has_key(x): self.assertEqual(1,2,"failed to delete %s" % x)
def testRangeSearchAfterSequentialInsert(self):
r = range(100)
for x in r:
self.t[x] = 0
diff = lsubtract(list(self.t.keys(0, 100)), r)
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testRangeSearchAfterRandomInsert(self):
r = range(100)
@@ -564,14 +573,14 @@
self.t[rnd] = 0
a[rnd] = 0
diff = lsubtract(list(self.t.keys(0, 100)), a.keys())
- assert diff == [], diff
+ self.assertEqual(diff , [], diff)
def testInsertMethod(self):
t = self.t
t[0] = 1
- assert t.insert(0, 1) == 0
- assert t.insert(1, 1) == 1
- assert lsubtract(list(t.keys()), [0,1]) == []
+ self.assertEqual(t.insert(0, 1) , 0)
+ self.assertEqual(t.insert(1, 1) , 1)
+ self.assertEqual(lsubtract(list(t.keys()), [0,1]) , [])
## BTree tests