bpo-42222: Improve tests for invalid argument types in randrange() (G… · python/cpython@5742416 (original) (raw)

`@@ -491,8 +491,10 @@ def test_randrange_errors(self):

`

491

491

``

492

492

`# Zero step

`

493

493

`raises_value_error(0, 42, 0)

`

``

494

`+

raises_type_error(0, 42, 0.0)

`

``

495

`+

raises_type_error(0, 0, 0.0)

`

494

496

``

495

``

`-

Non-integer start/stop/step

`

``

497

`+

Non-integer stop

`

496

498

`raises_type_error(3.14159)

`

497

499

`raises_type_error(3.0)

`

498

500

`raises_type_error(Fraction(3, 1))

`

`@@ -501,34 +503,23 @@ def test_randrange_errors(self):

`

501

503

`raises_type_error(0, 2.0)

`

502

504

`raises_type_error(0, Fraction(2, 1))

`

503

505

`raises_type_error(0, '2')

`

``

506

`+

raises_type_error(0, 2.71827, 2)

`

``

507

+

``

508

`+

Non-integer start

`

``

509

`+

raises_type_error(2.71827, 5)

`

``

510

`+

raises_type_error(2.0, 5)

`

``

511

`+

raises_type_error(Fraction(2, 1), 5)

`

``

512

`+

raises_type_error('2', 5)

`

``

513

`+

raises_type_error(2.71827, 5, 2)

`

504

514

``

505

515

`# Non-integer step

`

506

``

`-

raises_type_error(0, 42, 1.0)

`

507

``

`-

raises_type_error(0, 0, 1.0)

`

508

516

`raises_type_error(0, 42, 3.14159)

`

509

517

`raises_type_error(0, 42, 3.0)

`

510

518

`raises_type_error(0, 42, Fraction(3, 1))

`

511

519

`raises_type_error(0, 42, '3')

`

512

520

`raises_type_error(0, 42, 1.0)

`

513

521

`raises_type_error(0, 0, 1.0)

`

514

522

``

515

``

`-

def test_randrange_argument_handling(self):

`

516

``

`-

randrange = self.gen.randrange

`

517

``

`-

with self.assertRaises(TypeError):

`

518

``

`-

randrange(10.0, 20, 2)

`

519

``

`-

with self.assertRaises(TypeError):

`

520

``

`-

randrange(10, 20.0, 2)

`

521

``

`-

with self.assertRaises(TypeError):

`

522

``

`-

randrange(10, 20, 1.0)

`

523

``

`-

with self.assertRaises(TypeError):

`

524

``

`-

randrange(10, 20, 2.0)

`

525

``

`-

with self.assertRaises(TypeError):

`

526

``

`-

randrange(10.5)

`

527

``

`-

with self.assertRaises(TypeError):

`

528

``

`-

randrange(10, 20.5)

`

529

``

`-

with self.assertRaises(TypeError):

`

530

``

`-

randrange(10, 20, 1.5)

`

531

``

-

532

523

`def test_randrange_step(self):

`

533

524

`# bpo-42772: When stop is None, the step argument was being ignored.

`

534

525

`randrange = self.gen.randrange

`