(self)
| 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)]) |
nothing calls this directly
no test coverage detected