from heap import Heap
import unittest
class TestHeap(unittest.TestCase):
def test_init(self):
h = Heap(3)
self.assertEqual(h.get(), [0])
self.assertEqual(h.getCurrentSize(), 0)
self.assertEqual(h.getAllowedSize(), 3)
def test_buildHeap(self):
h = Heap(10)
l = [1,2,3,4,5,6,7,8]
h.buildHeap(l)
self.assertEqual(h.get(), [0] + l)
def test_insert(self):
h = Heap(3)
h.insert(5)
h.insert(10)
h.insert(12)
self.assertEqual(h.get(), [0,5,10,12])
h.insert(14)
self.assertEqual(h.get(), [0,10,14,12])
def test_delMin(self):
h = Heap(4)
l = [1,2,3,4]
h.buildHeap(l)
self.assertEqual(h.delMin(), 1)
self.assertEqual(h.get(), [0,2,4,3])
h2 = Heap(4)
h2.insert(5)
self.assertEqual(h2.delMin(), 5)
self.assertEqual(h2.get(), [0])
if __name__ == "__main__":
unittest.main()