Пример #1
0
 def test_pop(self):
     data = [random.randrange(200) for _ in xrange(100)]
     heap = self.makeHeap(data)
     # heap invariant is preserved after popping from the back
     while heap:
         heap.pop()
         self.assert_heap_invariant(heap)
     heap = self.makeHeap(data)
     while heap:
         i = random.randrange(-len(heap),len(heap))
         x = heap[i]
         assert heap.pop(i) == x
         self.assert_heap_invariant(heap)
Пример #2
0
 def test_delitem(self):
     data = [random.randrange(200) for _ in xrange(100)]
     heap = self.makeHeap(data)
     while heap:
         index = random.randrange(len(heap))
         value = heap.pop(index)
         data.remove(value)
         self.assert_heap_invariant(heap)
     assert list(heap.iterpop()) == self.sorted(data)