示例#1
0
 def test_contains_true(self):
     h = MinMaxHeap([6, 8, 2, 2, 60, 7, 9])
     self.assertTrue(h.contains(2))
示例#2
0
 def test_contains_when_argument_is_None(self):
     h = MinMaxHeap()
     self.assertRaises(ValueError, h.contains, None)
示例#3
0
 def test_contains_when_empty_heap(self):
     h = MinMaxHeap()
     self.assertFalse(h.contains(3))
示例#4
0
 def test_clear_heap_of_random_size(self):
     h = MinMaxHeap([randint(-100, 100) for _ in range(100)])
     self.assertIsNone(h.clear())
     self.assertEqual(h.size, 0)
     self.assertTrue(h.is_empty())
示例#5
0
 def test_add_when_argument_is_None(self):
     h = MinMaxHeap()
     self.assertRaises(ValueError, h.add, None)
示例#6
0
 def test_delete_when_elem_does_not_exist(self):
     self.assertRaises(LookupError, MinMaxHeap().delete, 3)
示例#7
0
 def test_find_min_when_heap_has_size_1(self):
     h = MinMaxHeap([5])
     self.assertEqual(h.find_min(), 5)
示例#8
0
 def test_merge_empty_heap_with_empty_heap(self):
     a = MinMaxHeap()
     b = MinMaxHeap()
     self.assertIsNone(a.merge(b))
示例#9
0
 def test_heap_creation_default(self):
     h = MinMaxHeap()
     self.assertTrue(h.is_empty())
     self.assertEqual(h.size, 0)
示例#10
0
 def test_remove_min_when_heap_has_size_1(self):
     h = MinMaxHeap([13])
     self.assertEqual(h.remove_min(), 13)
     self.assertTrue(h.is_empty())
     self.assertEqual(h.size, 0)
示例#11
0
 def test_remove_min_when_heap_has_size_2(self):
     h = MinMaxHeap([11, 13])
     self.assertEqual(h.remove_min(), 11)
     self.assertFalse(h.is_empty())
     self.assertEqual(h.size, 1)
示例#12
0
 def test_remove_min_when_empty_heap(self):
     h = MinMaxHeap()
     self.assertIsNone(h.remove_min())
示例#13
0
 def test_find_min_when_heap_has_random_size(self):
     a = [randint(-100, 100) for _ in range(3, 100)]
     h = MinMaxHeap(a)
     self.assertEqual(h.find_min(), min(a))
示例#14
0
 def test_find_min_when_heap_has_size_2(self):
     h = MinMaxHeap([13, 7])
     self.assertEqual(h.find_min(), 7)
示例#15
0
 def test_contains_false(self):
     h = MinMaxHeap([6, 8, 2, 60, 7, 9, 3, 67])
     self.assertFalse(h.contains(10))
示例#16
0
 def test_heap_creation_given_list(self):
     a = [12, 14, 28, 6, 7, 10, 18]
     h = MinMaxHeap(a)
     self.assertFalse(h.is_empty())
     self.assertEqual(h.size, len(a))
示例#17
0
 def test_delete_when_argument_is_None(self):
     self.assertRaises(ValueError, MinMaxHeap().delete, None)
示例#18
0
 def test_clear_empty_heap(self):
     h = MinMaxHeap()
     self.assertIsNone(h.clear())
     self.assertEqual(h.size, 0)
     self.assertTrue(h.is_empty())
示例#19
0
 def test_delete_when_elem_is_last(self):
     h = MinMaxHeap([3, 4])
     self.assertIsNone(h.delete(4))
     self.assertTrue(is_min_max_heap(h))
     self.assertEqual(h.size, 1)
     self.assertFalse(h.is_empty())
示例#20
0
 def test_find_min_when_empty_heap(self):
     h = MinMaxHeap()
     self.assertIsNone(h.find_min())