Exemplo n.º 1
0
 def test_slow(self):
     bt = BTree()
     print 'bt = BTree()'
     d = {}
     number = 0
     limit = 10000
     for k in xrange(limit*10):
         number = randint(0, limit)
         if number in bt:
             assert number in d
             if randint(0, 1) == 1:
                 del bt[number]
                 del d[number]
                 print 'del bt[%s]' % number
         else:
             if number in d:
                 print number
                 print number in bt
                 print number in d
                 assert number not in d
             bt[number] = 1
             d[number] = 1
             print 'bt[%s] = 1' % number
         if k % limit == 0:
             d_items = d.items()
             d_items.sort()
             assert d_items == bt.items()
             assert len(d_items) == len(bt)
Exemplo n.º 2
0
 def test_find_extremes(self):
     bt = BTree()
     assert raises(AssertionError, bt.get_min_item)
     assert raises(AssertionError, bt.get_max_item)
     map(bt.add, range(100))
     assert bt.get_min_item() == (0, True)
     assert bt.get_max_item() == (99, True)
Exemplo n.º 3
0
 def test_items_backward_from(self):
     bt = BTree()
     map(bt.add, range(100))
     for cutoff in (-1, 1, 50.1, 100, 102):
         expect = list(reversed([(x, y) for (x, y) in bt.items()
                                 if x < cutoff]))
         got = list(bt.items_backward_from(cutoff))
         assert expect == got, (cutoff, expect, got)
Exemplo n.º 4
0
 def test_iter(self):
     bt = BTree()
     map(bt.add, range(100))
     assert list(bt) == list(bt.iterkeys())
     assert list(bt.iteritems()) == zip(bt, bt.itervalues())
     assert list(bt.iterkeys()) == bt.keys()
     assert list(bt.itervalues()) == bt.values()
     assert list(bt.iteritems()) == bt.items()
Exemplo n.º 5
0
 def test_items_range(self):
     bt = BTree()
     map(bt.add, range(100))
     lo = 0
     hi = 40
     for lo, hi in [(-1,10), (3, 9), (30, 200), (-10, 200)]:
         expect = list([(x, y) for (x, y) in bt.items()
                     if lo <= x < hi])
         got = list(bt.items_range(lo, hi))
         assert expect == got, (lo, hi, expect, got)
         expect = list(reversed([(x, y) for (x, y) in bt.items()
                     if lo < x <= hi]))
         got = list(bt.items_range(hi, lo))
         assert expect == got, (hi, lo, expect, got)
Exemplo n.º 6
0
 def test_setdefault(self):
     bt = BTree()
     assert bt.setdefault('1', []) == []
     assert bt['1'] == []
     bt.setdefault('1', 1).append(1)
     assert bt['1'] == [1]
     bt.setdefault('1', [])
     assert bt['1'] == [1]
     bt.setdefault('1', 1).append(2)
     assert bt['1'] == [1, 2]
Exemplo n.º 7
0
 def test_clear(self):
     bt = BTree()
     map(bt.add, range(10))
     assert bt.has_key(2)
     bt.clear()
     assert not bt.has_key(2)
     assert bt.keys() == []
Exemplo n.º 8
0
 def test_has_key(self):
     bt = BTree()
     map(bt.add, range(10))
     assert bt.has_key(2)
     assert not bt.has_key(-1)
Exemplo n.º 9
0
 def test_get(self):
     bt = BTree()
     map(bt.add, range(10))
     assert bt.get(2) == True
     assert bt.get(-1) == None
     assert bt.get(-1, 5) == 5
Exemplo n.º 10
0
 def test_items_from(self):
     bt = BTree()
     map(bt.add, range(100))
     for cutoff in (-1, 1, 50.1, 100, 102):
         assert (list([(x, y) for (x, y) in bt.items() if x >= cutoff]) ==
                 list(bt.items_from(cutoff)))
Exemplo n.º 11
0
 def test_items_backward(self):
     bt = BTree()
     map(bt.add, range(100))
     assert list(reversed(bt.items())) == list(bt.items_backward())