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