MCPcopy Index your code
hub / github.com/python/cpython / test_range_iterators

Method test_range_iterators

Lib/test/test_range.py:544–567  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 4

pyrangeFunction · 0.85
pyrange_reversedFunction · 0.85
formatMethod · 0.45

Tested by

no test coverage detected