Commit efcb55f4 authored by Neal Norwitz's avatar Neal Norwitz

Exercise some error conditions

parent a27d5dfa
......@@ -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):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment