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

Method test_count

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

Source from the content-addressed store, hash-verified

488 self.assertRaises(TypeError, compress, range(6), None) # too many args
489
490 def test_count(self):
491 self.assertEqual(lzip('abc',count()), [('a', 0), ('b', 1), ('c', 2)])
492 self.assertEqual(lzip('abc',count(3)), [('a', 3), ('b', 4), ('c', 5)])
493 self.assertEqual(take(2, lzip('abc',count(3))), [('a', 3), ('b', 4)])
494 self.assertEqual(take(2, zip('abc',count(-1))), [('a', -1), ('b', 0)])
495 self.assertEqual(take(2, zip('abc',count(-3))), [('a', -3), ('b', -2)])
496 self.assertRaises(TypeError, count, 2, 3, 4)
497 self.assertRaises(TypeError, count, 'a')
498 self.assertEqual(take(3, count(maxsize)),
499 [maxsize, maxsize + 1, maxsize + 2])
500 self.assertEqual(take(10, count(maxsize-5)),
501 list(range(maxsize-5, maxsize+5)))
502 self.assertEqual(take(10, count(-maxsize-5)),
503 list(range(-maxsize-5, -maxsize+5)))
504 self.assertEqual(take(3, count(3.25)), [3.25, 4.25, 5.25])
505 self.assertEqual(take(3, count(3.25-4j)), [3.25-4j, 4.25-4j, 5.25-4j])
506 self.assertEqual(take(3, count(Decimal('1.1'))),
507 [Decimal('1.1'), Decimal('2.1'), Decimal('3.1')])
508 self.assertEqual(take(3, count(Fraction(2, 3))),
509 [Fraction(2, 3), Fraction(5, 3), Fraction(8, 3)])
510 BIGINT = 1<<1000
511 self.assertEqual(take(3, count(BIGINT)), [BIGINT, BIGINT+1, BIGINT+2])
512 c = count(3)
513 self.assertEqual(repr(c), 'count(3)')
514 next(c)
515 self.assertEqual(repr(c), 'count(4)')
516 c = count(-9)
517 self.assertEqual(repr(c), 'count(-9)')
518 next(c)
519 self.assertEqual(next(c), -8)
520 self.assertEqual(repr(count(10.25)), 'count(10.25)')
521 self.assertEqual(repr(count(10.0)), 'count(10.0)')
522
523 self.assertEqual(repr(count(maxsize)), f'count({maxsize})')
524 c = count(maxsize - 1)
525 self.assertEqual(repr(c), f'count({maxsize - 1})')
526 next(c) # c is now at masize
527 self.assertEqual(repr(c), f'count({maxsize})')
528 next(c)
529 self.assertEqual(repr(c), f'count({maxsize + 1})')
530
531 self.assertEqual(type(next(count(10.0))), float)
532 for i in (-sys.maxsize-5, -sys.maxsize+5 ,-10, -1, 0, 10, sys.maxsize-5, sys.maxsize+5):
533 # Test repr
534 r1 = repr(count(i))
535 r2 = 'count(%r)'.__mod__(i)
536 self.assertEqual(r1, r2)
537
538 #check proper internal error handling for large "step' sizes
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)])

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected