diff options
author | Raymond Hettinger <python@rcn.com> | 2007-01-04 17:53:34 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2007-01-04 17:53:34 +0000 |
commit | 769a40a1d046baddbac4c01fa8feada2ee9e5207 (patch) | |
tree | ad7a34d423aeb39afb406b0427996012595369c8 /Lib/test/test_heapq.py | |
parent | 2dc4db017483a25d9f2438ae4f36d98ec954ed37 (diff) | |
download | cpython-git-769a40a1d046baddbac4c01fa8feada2ee9e5207.tar.gz |
Fix stability of heapq's nlargest() and nsmallest().
Diffstat (limited to 'Lib/test/test_heapq.py')
-rw-r--r-- | Lib/test/test_heapq.py | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py index 2da4f8c49a..e9f27982bc 100644 --- a/Lib/test/test_heapq.py +++ b/Lib/test/test_heapq.py @@ -104,20 +104,20 @@ class TestHeap(unittest.TestCase): self.assertEqual(heap_sorted, sorted(data)) def test_nsmallest(self): - data = [random.randrange(2000) for i in range(1000)] - f = lambda x: x * 547 % 2000 - for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100): - self.assertEqual(nsmallest(n, data), sorted(data)[:n]) - self.assertEqual(nsmallest(n, data, key=f), - sorted(data, key=f)[:n]) + data = [(random.randrange(2000), i) for i in range(1000)] + for f in (None, lambda x: x[0] * 547 % 2000): + for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100): + self.assertEqual(nsmallest(n, data), sorted(data)[:n]) + self.assertEqual(nsmallest(n, data, key=f), + sorted(data, key=f)[:n]) def test_nlargest(self): - data = [random.randrange(2000) for i in range(1000)] - f = lambda x: x * 547 % 2000 - for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100): - self.assertEqual(nlargest(n, data), sorted(data, reverse=True)[:n]) - self.assertEqual(nlargest(n, data, key=f), - sorted(data, key=f, reverse=True)[:n]) + data = [(random.randrange(2000), i) for i in range(1000)] + for f in (None, lambda x: x[0] * 547 % 2000): + for n in (0, 1, 2, 10, 100, 400, 999, 1000, 1100): + self.assertEqual(nlargest(n, data), sorted(data, reverse=True)[:n]) + self.assertEqual(nlargest(n, data, key=f), + sorted(data, key=f, reverse=True)[:n]) #============================================================================== |