diff options
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_heapq.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py index f0bb2e7..8f3c6f9 100644 --- a/Lib/test/test_heapq.py +++ b/Lib/test/test_heapq.py @@ -70,6 +70,20 @@ def test_main(): if item > heap[0]: # this gets rarer the longer we run heapreplace(heap, item) vereq(list(heapiter(heap)), data_sorted[-10:]) + # 6) Exercise everything with repeated heapsort checks + for trial in xrange(100): + size = random.randrange(50) + data = [random.randrange(25) for i in range(size)] + if trial & 1: # Half of the time, use heapify + heap = data[:] + heapify(heap) + else: # The rest of the time, use heappush + heap = [] + for item in data: + heappush(heap,item) + data.sort() + sorted = [heappop(heap) for i in range(size)] + vereq(data, sorted) # Make user happy if verbose: print "All OK" |