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

Method test_count_with_step

Lib/test/test_itertools.py:541–603  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

539 count(1, maxsize+5); sys.exc_info()
540
541 def test_count_with_step(self):
542 self.assertEqual(lzip('abc',count(2,3)), [('a', 2), ('b', 5), ('c', 8)])
543 self.assertEqual(lzip('abc',count(start=2,step=3)),
544 [('a', 2), ('b', 5), ('c', 8)])
545 self.assertEqual(lzip('abc',count(step=-1)),
546 [('a', 0), ('b', -1), ('c', -2)])
547 self.assertRaises(TypeError, count, 'a', 'b')
548 self.assertEqual(lzip('abc',count(2,0)), [('a', 2), ('b', 2), ('c', 2)])
549 self.assertEqual(lzip('abc',count(2,1)), [('a', 2), ('b', 3), ('c', 4)])
550 self.assertEqual(lzip('abc',count(2,3)), [('a', 2), ('b', 5), ('c', 8)])
551 self.assertEqual(take(20, count(maxsize-15, 3)), take(20, range(maxsize-15, maxsize+100, 3)))
552 self.assertEqual(take(20, count(-maxsize-15, 3)), take(20, range(-maxsize-15,-maxsize+100, 3)))
553 self.assertEqual(take(3, count(10, maxsize+5)),
554 list(range(10, 10+3*(maxsize+5), maxsize+5)))
555 self.assertEqual(take(3, count(maxsize, 2)),
556 [maxsize, maxsize + 2, maxsize + 4])
557 self.assertEqual(take(3, count(maxsize, maxsize)),
558 [maxsize, 2 * maxsize, 3 * maxsize])
559 self.assertEqual(take(3, count(-maxsize, maxsize)),
560 [-maxsize, 0, maxsize])
561 self.assertEqual(take(3, count(2, 1.25)), [2, 3.25, 4.5])
562 self.assertEqual(take(3, count(2, 3.25-4j)), [2, 5.25-4j, 8.5-8j])
563 self.assertEqual(take(3, count(Decimal('1.1'), Decimal('.1'))),
564 [Decimal('1.1'), Decimal('1.2'), Decimal('1.3')])
565 self.assertEqual(take(3, count(Fraction(2,3), Fraction(1,7))),
566 [Fraction(2,3), Fraction(17,21), Fraction(20,21)])
567 BIGINT = 1<<1000
568 self.assertEqual(take(3, count(step=BIGINT)), [0, BIGINT, 2*BIGINT])
569 self.assertEqual(repr(take(3, count(10, 2.5))), repr([10, 12.5, 15.0]))
570 c = count(3, 5)
571 self.assertEqual(repr(c), 'count(3, 5)')
572 next(c)
573 self.assertEqual(repr(c), 'count(8, 5)')
574 c = count(-9, 0)
575 self.assertEqual(repr(c), 'count(-9, 0)')
576 next(c)
577 self.assertEqual(repr(c), 'count(-9, 0)')
578 c = count(-9, -3)
579 self.assertEqual(repr(c), 'count(-9, -3)')
580 next(c)
581 self.assertEqual(repr(c), 'count(-12, -3)')
582 self.assertEqual(repr(c), 'count(-12, -3)')
583 self.assertEqual(repr(count(10.5, 1.25)), 'count(10.5, 1.25)')
584 self.assertEqual(repr(count(10.5, 1)), 'count(10.5)') # suppress step=1 when it's an int
585 self.assertEqual(repr(count(10.5, 1.00)), 'count(10.5, 1.0)') # do show float values lilke 1.0
586 self.assertEqual(repr(count(10, 1.00)), 'count(10, 1.0)')
587 c = count(10, 1.0)
588 self.assertEqual(type(next(c)), int)
589 self.assertEqual(type(next(c)), float)
590
591 c = count(maxsize -2, 2)
592 self.assertEqual(repr(c), f'count({maxsize - 2}, 2)')
593 next(c) # c is now at masize
594 self.assertEqual(repr(c), f'count({maxsize}, 2)')
595 next(c)
596 self.assertEqual(repr(c), f'count({maxsize + 2}, 2)')
597
598 c = count(maxsize + 1, -1)

Callers

nothing calls this directly

Calls 8

DecimalClass · 0.90
FractionClass · 0.90
lzipFunction · 0.85
countFunction · 0.85
takeFunction · 0.85
listClass · 0.85
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected