(self)
| 315 | self.assertEqual(heap_sorted, sorted(data, reverse=True)) |
| 316 | |
| 317 | def test_merge(self): |
| 318 | inputs = [] |
| 319 | for i in range(random.randrange(25)): |
| 320 | row = [] |
| 321 | for j in range(random.randrange(100)): |
| 322 | tup = random.choice('ABC'), random.randrange(-500, 500) |
| 323 | row.append(tup) |
| 324 | inputs.append(row) |
| 325 | |
| 326 | for key in [None, itemgetter(0), itemgetter(1), itemgetter(1, 0)]: |
| 327 | for reverse in [False, True]: |
| 328 | seqs = [] |
| 329 | for seq in inputs: |
| 330 | seqs.append(sorted(seq, key=key, reverse=reverse)) |
| 331 | self.assertEqual(sorted(chain(*inputs), key=key, reverse=reverse), |
| 332 | list(self.module.merge(*seqs, key=key, reverse=reverse))) |
| 333 | self.assertEqual(list(self.module.merge()), []) |
| 334 | |
| 335 | def test_empty_merges(self): |
| 336 | # Merging two empty lists (with or without a key) should produce |
nothing calls this directly
no test coverage detected