(self)
| 542 | self.assertNotIn(1, r) |
| 543 | |
| 544 | def test_range_iterators(self): |
| 545 | # exercise 'fast' iterators, that use a rangeiterobject internally. |
| 546 | # see issue 7298 |
| 547 | limits = [base + jiggle |
| 548 | for M in (2**32, 2**64) |
| 549 | for base in (-M, -M//2, 0, M//2, M) |
| 550 | for jiggle in (-2, -1, 0, 1, 2)] |
| 551 | test_ranges = [(start, end, step) |
| 552 | for start in limits |
| 553 | for end in limits |
| 554 | for step in (-2**63, -2**31, -2, -1, 1, 2)] |
| 555 | test_ranges += [(-2**63, 2**63-2, 1)] # regression test for gh-100810 |
| 556 | |
| 557 | for start, end, step in test_ranges: |
| 558 | iter1 = range(start, end, step) |
| 559 | iter2 = pyrange(start, end, step) |
| 560 | test_id = "range({}, {}, {})".format(start, end, step) |
| 561 | # check first 100 entries |
| 562 | self.assert_iterators_equal(iter1, iter2, test_id, limit=100) |
| 563 | |
| 564 | iter1 = reversed(range(start, end, step)) |
| 565 | iter2 = pyrange_reversed(start, end, step) |
| 566 | test_id = "reversed(range({}, {}, {}))".format(start, end, step) |
| 567 | self.assert_iterators_equal(iter1, iter2, test_id, limit=100) |
| 568 | |
| 569 | def test_range_iterators_invocation(self): |
| 570 | # verify range iterators instances cannot be created by |
nothing calls this directly
no test coverage detected