Example #1
0
 def heapsort_test(self, array):
     "Verifies that the heap can be used to sort array"
     h = heap_delete.heap_delete()
     for elem in array:
         h.insert(elem)
     sorted_array = sorted(array)
     for elem in sorted_array:
         self.assertEquals(h.extract_min(), elem)
Example #2
0
 def test1(self):
     "Insert one element and then delete it"
     h = heap_delete.heap_delete()
     self.assertEquals(h.A, [None])
     self.assertEquals(h.heapsize, 0)
     h.insert(5)
     h.delete(1)
     self.assertEquals(h.A, [None])
     self.assertEquals(h.heapsize, 0)
Example #3
0
 def test2(self):
     "Insert many elements and then delete one"
     h = heap_delete.heap_delete()
     h.insert(5)
     h.insert(15)
     h.insert(10)
     h.insert(0)
     h.delete(h.A.index(10))
     self.assertEquals(0, h.extract_min())
     self.assertEquals(5, h.extract_min())
     self.assertEquals(15, h.extract_min())
     self.assertEquals(h.A, [None])
     self.assertEquals(h.heapsize, 0)
Example #4
0
    def test0(self):
        "Test original heap functionality"
        h = heap_delete.heap_delete()
        import random
        for i in range(20):
            h.insert(random.randint(0, 10))
        l = []
        while h.heapsize > 0:
            l.append(h.extract_min())

        self.assertEquals(len(l), 20)
        for i in range(len(l) - 1):
            self.assertTrue(l[i] <= l[i + 1])
            self.assertEquals(h.heapsize, 0)
            self.assertEquals(h.A, [None])