def test_heap_delete(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] h = max_priority_queue(a) h.heap_delete(4) self.assertEquals(h[0:h.heap_size], [16, 14, 10, 8, 1, 9, 3, 2, 4]) h.heap_delete(2) self.assertEquals(h[0:h.heap_size], [16, 14, 9, 8, 1, 4, 3, 2]) h.heap_delete(0) self.assertEquals(h[0:h.heap_size], [14, 8, 9, 2, 1, 4, 3]) h.heap_delete(5) self.assertEquals(h[0:h.heap_size], [14, 8, 9, 2, 1, 3]) h.heap_delete(3) self.assertEquals(h[0:h.heap_size], [14, 8, 9, 3, 1]) h.heap_delete(1) self.assertEquals(h[0:h.heap_size], [14, 3, 9, 1]) h.heap_delete(3) self.assertEquals(h[0:h.heap_size], [14, 3, 9]) h.heap_delete(2) self.assertEquals(h[0:h.heap_size], [14, 3]) h.heap_delete(1) self.assertEquals(h[0:h.heap_size], [14]) h.heap_delete(0) self.assertEquals(h[0:h.heap_size], [])
def test_init(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] q = max_priority_queue(a) self.assertEquals(q, [16, 14, 10, 8, 7, 9, 3, 2, 4, 1])
def test_heap_insert(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] queue = max_priority_queue(a) queue.heap_extract_max() queue.max_heap_insert(100) self.assertEquals(queue, [100, 14, 10, 4, 8, 9, 3, 2, 1, 7])
def test_heap_increase_key(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] h = max_priority_queue(a) h.heap_increase_key(8, 15) self.assertEquals(h, [16, 15, 10, 14, 7, 9, 3, 2, 8, 1])
def test_heap_extract_max(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] h = max_priority_queue(a) self.assertEquals(h.heap_extract_max(), 16) self.assertEquals(h, [14, 8, 10, 4, 7, 9, 3, 2, 1, 1])
def test_heap_maximum(self): a = [4, 1, 3, 2, 16, 9, 10, 14, 8, 7] self.assertEquals(max_priority_queue(a).heap_maximum(), 16)