Commit 600d2b67 authored by Andreas Jung's avatar Andreas Jung

- added better test for values() with arguments

- replaced assert statements by calls to self.assertEqual() and
  self.assert_()
parent 81931dba
...@@ -63,9 +63,9 @@ class Base: ...@@ -63,9 +63,9 @@ class Base:
root = self._getRoot() root = self._getRoot()
#XXX BTree stuff doesn't implement comparison #XXX BTree stuff doesn't implement comparison
if hasattr(t, 'items'): if hasattr(t, 'items'):
assert list(root[i].items()) == list(t.items()) self.assertEqual(list(root[i].items()) , list(t.items()))
else: else:
assert list(root[i].keys()) == list(t.keys()) self.assertEqual(list(root[i].keys()) , list(t.keys()))
finally: finally:
self._closeDB(root) self._closeDB(root)
self._delDB() self._delDB()
...@@ -90,9 +90,9 @@ class Base: ...@@ -90,9 +90,9 @@ class Base:
root[i]._p_changed = None root[i]._p_changed = None
get_transaction().commit() get_transaction().commit()
if hasattr(t,'items'): if hasattr(t,'items'):
assert list(root[i].items()) == list(t.items()) self.assertEqual(list(root[i].items()) , list(t.items()))
else: else:
assert list(root[i].keys()) == list(t.keys()) self.assertEqual(list(root[i].keys()) , list(t.keys()))
finally: finally:
self._closeDB(root) self._closeDB(root)
self._delDB() self._delDB()
...@@ -111,19 +111,19 @@ class MappingBase(Base): ...@@ -111,19 +111,19 @@ class MappingBase(Base):
return self.t[1] return self.t[1]
def testGetReturnsDefault(self): def testGetReturnsDefault(self):
assert self.t.get(1) == None self.assertEqual(self.t.get(1) , None)
assert self.t.get(1, 'foo') == 'foo' self.assertEqual(self.t.get(1, 'foo') , 'foo')
def testSetItemGetItemWorks(self): def testSetItemGetItemWorks(self):
self.t[1] = 1 self.t[1] = 1
a = self.t[1] a = self.t[1]
assert a == 1, `a` self.assertEqual(a , 1, `a`)
def testReplaceWorks(self): def testReplaceWorks(self):
self.t[1] = 1 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 self.t[1] = 2
assert self.t[1] == 2, self.t[1] self.assertEqual(self.t[1] , 2, self.t[1])
def testLen(self): def testLen(self):
added = {} added = {}
...@@ -133,19 +133,28 @@ class MappingBase(Base): ...@@ -133,19 +133,28 @@ class MappingBase(Base):
self.t[k] = x self.t[k] = x
added[k] = x added[k] = x
addl = added.keys() 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): def testHasKeyWorks(self):
self.t[1] = 1 self.t[1] = 1
assert self.t.has_key(1) self.assert_(self.t.has_key(1))
def testValuesWorks(self): def testValuesWorks(self):
for x in range(100): for x in range(100):
self.t[x] = x*x self.t[x] = x*x
v = self.t.values() v = self.t.values()
for i in range(100): 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): def testKeysWorks(self):
...@@ -162,8 +171,8 @@ class MappingBase(Base): ...@@ -162,8 +171,8 @@ class MappingBase(Base):
self.assertEqual(list(lst),range(0+x,99-x+1)) self.assertEqual(list(lst),range(0+x,99-x+1))
# BTree items must lie about their lengths, so we convert to list # BTree items must lie about their lengths, so we convert to list
assert len(v) == 100, len(v) self.assertEqual(len(v) , 100, len(v))
#assert len(v) == 100, len(v) #self.assertEqual(len(v) , 100, len(v))
def testItemsWorks(self): def testItemsWorks(self):
for x in range(100): for x in range(100):
...@@ -171,8 +180,8 @@ class MappingBase(Base): ...@@ -171,8 +180,8 @@ class MappingBase(Base):
v = self.t.items() v = self.t.items()
i = 0 i = 0
for x in v: for x in v:
assert x[0] == i, (x[0], i) self.assertEqual(x[0] , i, (x[0], i))
assert x[1] == i, (x[0], i) self.assertEqual(x[1] , i, (x[0], i))
i = i + 1 i = i + 1
def testDeleteInvalidKeyRaisesKeyError(self): def testDeleteInvalidKeyRaisesKeyError(self):
...@@ -192,12 +201,12 @@ class MappingBase(Base): ...@@ -192,12 +201,12 @@ class MappingBase(Base):
self.t[4] = 150 self.t[4] = 150
del self.t[7] del self.t[7]
t = self.t t = self.t
assert t.maxKey() == 10 self.assertEqual(t.maxKey() , 10)
assert t.maxKey(6) == 6 self.assertEqual(t.maxKey(6) , 6)
assert t.maxKey(9) == 8 self.assertEqual(t.maxKey(9) , 8)
assert t.minKey() == 1 self.assertEqual(t.minKey() , 1)
assert t.minKey(3) == 3 self.assertEqual(t.minKey(3) , 3)
assert t.minKey(9) == 10 self.assertEqual(t.minKey(9) , 10)
def testClear(self): def testClear(self):
r = range(100) r = range(100)
...@@ -206,7 +215,7 @@ class MappingBase(Base): ...@@ -206,7 +215,7 @@ class MappingBase(Base):
self.t[rnd] = 0 self.t[rnd] = 0
self.t.clear() self.t.clear()
diff = lsubtract(list(self.t.keys()), []) diff = lsubtract(list(self.t.keys()), [])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testUpdate(self): def testUpdate(self):
"mapping update" "mapping update"
...@@ -221,21 +230,21 @@ class MappingBase(Base): ...@@ -221,21 +230,21 @@ class MappingBase(Base):
items.sort() items.sort()
self.t.update(d) self.t.update(d)
assert list(self.t.items()) == items self.assertEqual(list(self.t.items()) , items)
self.t.clear() self.t.clear()
assert list(self.t.items()) == [] self.assertEqual(list(self.t.items()) , [])
self.t.update(l) self.t.update(l)
assert list(self.t.items()) == items self.assertEqual(list(self.t.items()) , items)
def testEmptyRangeSearches(self): def testEmptyRangeSearches(self):
t=self.t t=self.t
t.update([(1,1),(5,5),(9,9)]) t.update([(1,1),(5,5),(9,9)])
assert list(t.keys(-6,-4))==[], list(t.keys(-6,-4)) self.assertEqual(list(t.keys(-6,-4)),[], list(t.keys(-6,-4)))
assert list(t.keys(2,4))==[], list(t.keys(2,4)) self.assertEqual(list(t.keys(2,4)),[], list(t.keys(2,4)))
assert list(t.keys(6,8))==[], list(t.keys(6,8)) self.assertEqual(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(10,12)),[], list(t.keys(10,12)))
class NormalSetTests(Base): class NormalSetTests(Base):
...@@ -249,17 +258,17 @@ class NormalSetTests(Base): ...@@ -249,17 +258,17 @@ class NormalSetTests(Base):
def testInsertReturnsValue(self): def testInsertReturnsValue(self):
t = self.t t = self.t
assert t.insert(5) == 1 self.assertEqual(t.insert(5) , 1)
def testDuplicateInsert(self): def testDuplicateInsert(self):
t = self.t t = self.t
t.insert(5) t.insert(5)
assert t.insert(5) == 0 self.assertEqual(t.insert(5) , 0)
def testInsert(self): def testInsert(self):
t = self.t t = self.t
t.insert(1) t.insert(1)
assert t.has_key(1) self.assert_(t.has_key(1))
def testBigInsert(self): def testBigInsert(self):
t = self.t t = self.t
...@@ -267,7 +276,7 @@ class NormalSetTests(Base): ...@@ -267,7 +276,7 @@ class NormalSetTests(Base):
for x in r: for x in r:
t.insert(x) t.insert(x)
for x in r: for x in r:
assert t.has_key(x) self.assert_(t.has_key(x))
def testRemoveSucceeds(self): def testRemoveSucceeds(self):
t = self.t t = self.t
...@@ -283,14 +292,14 @@ class NormalSetTests(Base): ...@@ -283,14 +292,14 @@ class NormalSetTests(Base):
def testHasKeyFails(self): def testHasKeyFails(self):
t = self.t t = self.t
assert not t.has_key(1) self.assert_(not t.has_key(1))
def testKeys(self): def testKeys(self):
t = self.t t = self.t
r = xrange(1000) r = xrange(1000)
for x in r: t.insert(x) for x in r: t.insert(x)
diff = lsubtract(t.keys(), r) diff = lsubtract(t.keys(), r)
assert diff == [], diff self.assertEqual(diff , [], diff)
def testClear(self): def testClear(self):
t = self.t t = self.t
...@@ -298,7 +307,7 @@ class NormalSetTests(Base): ...@@ -298,7 +307,7 @@ class NormalSetTests(Base):
for x in r: t.insert(x) for x in r: t.insert(x)
t.clear() t.clear()
diff = lsubtract(t.keys(), []) diff = lsubtract(t.keys(), [])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testMaxKeyMinKey(self): def testMaxKeyMinKey(self):
t = self.t t = self.t
...@@ -310,12 +319,12 @@ class NormalSetTests(Base): ...@@ -310,12 +319,12 @@ class NormalSetTests(Base):
t.insert(10) t.insert(10)
t.insert(6) t.insert(6)
t.insert(4) t.insert(4)
assert t.maxKey() == 10 self.assertEqual(t.maxKey() , 10)
assert t.maxKey(6) == 6 self.assertEqual(t.maxKey(6) , 6)
assert t.maxKey(9) == 8 self.assertEqual(t.maxKey(9) , 8)
assert t.minKey() == 1 self.assertEqual(t.minKey() , 1)
assert t.minKey(3) == 3 self.assertEqual(t.minKey(3) , 3)
assert t.minKey(9) == 10 self.assertEqual(t.minKey(9) , 10)
def testUpdate(self): def testUpdate(self):
"mapping update" "mapping update"
...@@ -330,29 +339,29 @@ class NormalSetTests(Base): ...@@ -330,29 +339,29 @@ class NormalSetTests(Base):
items.sort() items.sort()
self.t.update(l) self.t.update(l)
assert list(self.t.keys()) == items self.assertEqual(list(self.t.keys()) , items)
def testEmptyRangeSearches(self): def testEmptyRangeSearches(self):
t=self.t t=self.t
t.update([1,5,9]) t.update([1,5,9])
assert list(t.keys(-6,-4))==[], list(t.keys(-6,-4)) self.assertEqual(list(t.keys(-6,-4)),[], list(t.keys(-6,-4)))
assert list(t.keys(2,4))==[], list(t.keys(2,4)) self.assertEqual(list(t.keys(2,4)),[], list(t.keys(2,4)))
assert list(t.keys(6,8))==[], list(t.keys(6,8)) self.assertEqual(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(10,12)),[], list(t.keys(10,12)))
class ExtendedSetTests(NormalSetTests): class ExtendedSetTests(NormalSetTests):
def testLen(self): def testLen(self):
t = self.t t = self.t
r = xrange(10000) r = xrange(10000)
for x in r: t.insert(x) for x in r: t.insert(x)
assert len(t) == 10000, len(t) self.assertEqual(len(t) , 10000, len(t))
def testGetItem(self): def testGetItem(self):
t = self.t t = self.t
r = xrange(10000) r = xrange(10000)
for x in r: t.insert(x) for x in r: t.insert(x)
for x in r: for x in r:
assert t[x] == x self.assertEqual(t[x] , x)
class BucketTests(MappingBase): class BucketTests(MappingBase):
""" Tests common to all buckets """ """ Tests common to all buckets """
...@@ -370,7 +379,7 @@ class BTreeTests(MappingBase): ...@@ -370,7 +379,7 @@ class BTreeTests(MappingBase):
self.t[4] = 99 self.t[4] = 99
del self.t[4] del self.t[4]
diff = lsubtract(self.t.keys(), [1,2,3,5,6,10]) diff = lsubtract(self.t.keys(), [1,2,3,5,6,10])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testDeleteOneChildWorks(self): def testDeleteOneChildWorks(self):
self.t[5] = 6 self.t[5] = 6
...@@ -382,7 +391,7 @@ class BTreeTests(MappingBase): ...@@ -382,7 +391,7 @@ class BTreeTests(MappingBase):
self.t[4] = 99 self.t[4] = 99
del self.t[3] del self.t[3]
diff = lsubtract(self.t.keys(), [1,2,4,5,6,10]) diff = lsubtract(self.t.keys(), [1,2,4,5,6,10])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testDeleteTwoChildrenNoInorderSuccessorWorks(self): def testDeleteTwoChildrenNoInorderSuccessorWorks(self):
self.t[5] = 6 self.t[5] = 6
...@@ -394,7 +403,7 @@ class BTreeTests(MappingBase): ...@@ -394,7 +403,7 @@ class BTreeTests(MappingBase):
self.t[4] = 99 self.t[4] = 99
del self.t[2] del self.t[2]
diff = lsubtract(self.t.keys(), [1,3,4,5,6,10]) diff = lsubtract(self.t.keys(), [1,3,4,5,6,10])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testDeleteTwoChildrenInorderSuccessorWorks(self): def testDeleteTwoChildrenInorderSuccessorWorks(self):
""" 7, 3, 8, 1, 5, 10, 6, 4 -- del 3 """ """ 7, 3, 8, 1, 5, 10, 6, 4 -- del 3 """
...@@ -408,7 +417,7 @@ class BTreeTests(MappingBase): ...@@ -408,7 +417,7 @@ class BTreeTests(MappingBase):
self.t[4] = 150 self.t[4] = 150
del self.t[3] del self.t[3]
diff = lsubtract(self.t.keys(), [1,4,5,6,7,8,10]) diff = lsubtract(self.t.keys(), [1,4,5,6,7,8,10])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testDeleteRootWorks(self): def testDeleteRootWorks(self):
""" 7, 3, 8, 1, 5, 10, 6, 4 -- del 7 """ """ 7, 3, 8, 1, 5, 10, 6, 4 -- del 7 """
...@@ -422,7 +431,7 @@ class BTreeTests(MappingBase): ...@@ -422,7 +431,7 @@ class BTreeTests(MappingBase):
self.t[4] = 150 self.t[4] = 150
del self.t[7] del self.t[7]
diff = lsubtract(self.t.keys(), [1,3,4,5,6,8,10]) diff = lsubtract(self.t.keys(), [1,3,4,5,6,8,10])
assert diff == [], diff self.assertEqual(diff , [], diff)
def testRandomNonOverlappingInserts(self): def testRandomNonOverlappingInserts(self):
added = {} added = {}
...@@ -435,7 +444,7 @@ class BTreeTests(MappingBase): ...@@ -435,7 +444,7 @@ class BTreeTests(MappingBase):
addl = added.keys() addl = added.keys()
addl.sort() addl.sort()
diff = lsubtract(list(self.t.keys()), addl) 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): def testRandomOverlappingInserts(self):
added = {} added = {}
...@@ -447,7 +456,7 @@ class BTreeTests(MappingBase): ...@@ -447,7 +456,7 @@ class BTreeTests(MappingBase):
addl = added.keys() addl = added.keys()
addl.sort() addl.sort()
diff = lsubtract(self.t.keys(), addl) diff = lsubtract(self.t.keys(), addl)
assert diff == [], diff self.assertEqual(diff , [], diff)
def testRandomDeletes(self): def testRandomDeletes(self):
r = range(1000) r = range(1000)
...@@ -468,7 +477,7 @@ class BTreeTests(MappingBase): ...@@ -468,7 +477,7 @@ class BTreeTests(MappingBase):
for x in deleted: for x in deleted:
if self.t.has_key(x): if self.t.has_key(x):
badones.append(x) badones.append(x)
assert badones == [], (badones, added, deleted) self.assertEqual(badones , [], (badones, added, deleted))
def testTargetedDeletes(self): def testTargetedDeletes(self):
r = range(1000) r = range(1000)
...@@ -480,16 +489,16 @@ class BTreeTests(MappingBase): ...@@ -480,16 +489,16 @@ class BTreeTests(MappingBase):
del self.t[x] del self.t[x]
except KeyError: except KeyError:
pass pass
assert realseq(self.t.keys()) == [], realseq(self.t.keys()) self.assertEqual(realseq(self.t.keys()) , [], realseq(self.t.keys()))
def testPathologicalRightBranching(self): def testPathologicalRightBranching(self):
r = range(1000) r = range(1000)
for x in r: for x in r:
self.t[x] = 1 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: for x in r:
del self.t[x] 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): def testPathologicalLeftBranching(self):
r = range(1000) r = range(1000)
...@@ -497,11 +506,11 @@ class BTreeTests(MappingBase): ...@@ -497,11 +506,11 @@ class BTreeTests(MappingBase):
revr.reverse() revr.reverse()
for x in revr: for x in revr:
self.t[x] = 1 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: for x in revr:
del self.t[x] 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): def testSuccessorChildParentRewriteExerciseCase(self):
add_order = [ add_order = [
...@@ -547,14 +556,14 @@ class BTreeTests(MappingBase): ...@@ -547,14 +556,14 @@ class BTreeTests(MappingBase):
for x in delete_order: for x in delete_order:
try: del self.t[x] try: del self.t[x]
except KeyError: 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): def testRangeSearchAfterSequentialInsert(self):
r = range(100) r = range(100)
for x in r: for x in r:
self.t[x] = 0 self.t[x] = 0
diff = lsubtract(list(self.t.keys(0, 100)), r) diff = lsubtract(list(self.t.keys(0, 100)), r)
assert diff == [], diff self.assertEqual(diff , [], diff)
def testRangeSearchAfterRandomInsert(self): def testRangeSearchAfterRandomInsert(self):
r = range(100) r = range(100)
...@@ -564,14 +573,14 @@ class BTreeTests(MappingBase): ...@@ -564,14 +573,14 @@ class BTreeTests(MappingBase):
self.t[rnd] = 0 self.t[rnd] = 0
a[rnd] = 0 a[rnd] = 0
diff = lsubtract(list(self.t.keys(0, 100)), a.keys()) diff = lsubtract(list(self.t.keys(0, 100)), a.keys())
assert diff == [], diff self.assertEqual(diff , [], diff)
def testInsertMethod(self): def testInsertMethod(self):
t = self.t t = self.t
t[0] = 1 t[0] = 1
assert t.insert(0, 1) == 0 self.assertEqual(t.insert(0, 1) , 0)
assert t.insert(1, 1) == 1 self.assertEqual(t.insert(1, 1) , 1)
assert lsubtract(list(t.keys()), [0,1]) == [] self.assertEqual(lsubtract(list(t.keys()), [0,1]) , [])
## BTree tests ## BTree tests
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment