mirror of
https://github.com/python/cpython.git
synced 2024-11-25 19:03:49 +08:00
Exercise some error conditions
This commit is contained in:
parent
739a8f86d6
commit
d7be118626
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user