예제 #1
0
    def test_add_multiple_elements(self):
        a = [randint(-100, 100) for _ in range(100)]
        h = MinHeap()

        for i, elem in enumerate(a):
            self.assertIsNone(h.add(elem))
            self.assertEqual(h.size, i + 1)

        self.assertFalse(h.is_empty())
        self.assertEqual(h.find_min(), min(a))
예제 #2
0
 def test_add_add_one(self):
     h = MinHeap()
     self.assertIsNone(h.add(2))
     self.assertEqual(h.size, 1)
     self.assertFalse(h.is_empty())
     self.assertEqual(h.find_min(), 2)
예제 #3
0
 def test_find_min_when_heap_has_random_size(self):
     a = [randint(-100, 100) for _ in range(3, 100)]
     h = MinHeap(a)
     self.assertEqual(h.find_min(), min(a))
예제 #4
0
 def test_find_min_when_heap_has_size_2(self):
     h = MinHeap([13, 7])
     self.assertEqual(h.find_min(), 7)
예제 #5
0
 def test_find_min_when_heap_has_size_1(self):
     h = MinHeap([5])
     self.assertEqual(h.find_min(), 5)
예제 #6
0
 def test_find_min_when_empty_heap(self):
     h = MinHeap()
     self.assertIsNone(h.find_min())