]> granicus.if.org Git - python/commitdiff
Exercise some error conditions
authorNeal Norwitz <nnorwitz@gmail.com>
Thu, 8 Jul 2004 01:56:46 +0000 (01:56 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Thu, 8 Jul 2004 01:56:46 +0000 (01:56 +0000)
Lib/test/test_heapq.py

index 4e535e9ddd6a649aa84469facffccb39c057dd41..f37d8ff6211371d41e3155d59b494f120c838d30 100644 (file)
@@ -38,6 +38,10 @@ class TestHeap(unittest.TestCase):
         # 2) Check that the invariant holds for a sorted array
         self.check_invariant(results)
 
+        self.assertRaises(TypeError, heappush, [])
+        self.assertRaises(TypeError, heappush, None, None)
+        self.assertRaises(TypeError, heappop, None)
+
     def check_invariant(self, heap):
         # Check the heap invariant.
         for pos, item in enumerate(heap):
@@ -51,6 +55,8 @@ class TestHeap(unittest.TestCase):
             heapify(heap)
             self.check_invariant(heap)
 
+        self.assertRaises(TypeError, heapify, None)
+
     def test_naive_nbest(self):
         data = [random.randrange(2000) for i in range(1000)]
         heap = []
@@ -75,6 +81,10 @@ class TestHeap(unittest.TestCase):
                 heapreplace(heap, item)
         self.assertEqual(list(heapiter(heap)), sorted(data)[-10:])
 
+        self.assertRaises(TypeError, heapreplace, None)
+        self.assertRaises(TypeError, heapreplace, None, None)
+        self.assertRaises(IndexError, heapreplace, [], None)
+
     def test_heapsort(self):
         # Exercise everything with repeated heapsort checks
         for trial in xrange(100):