@@ -504,28 +504,40 @@ def test_randrange_nonunit_step(self):
504
504
rint = self .gen .randrange (0 , 2 , 2 )
505
505
self .assertEqual (rint , 0 )
506
506
507
+ def test_randrange_non_integers (self ):
508
+ randrange = self .gen .randrange
509
+ with self .assertWarns (DeprecationWarning ):
510
+ self .assertIn (randrange (3.0 ), range (3 ))
511
+ with self .assertWarns (DeprecationWarning ):
512
+ self .assertIn (randrange (0 , 3.0 ), range (0 , 3 ))
513
+ with self .assertWarns (DeprecationWarning ):
514
+ self .assertIn (randrange (0 , 42 , 1.0 ), range (0 , 42 , 1 ))
515
+ with self .assertWarns (DeprecationWarning ):
516
+ self .assertIn (randrange (0 , 42 , 3.0 ), range (0 , 42 , 3 ))
517
+
507
518
def test_randrange_errors (self ):
508
- raises = partial (self .assertRaises , ValueError , self .gen .randrange )
519
+ randrange = self .gen .randrange
520
+ raises = partial (self .assertRaises , ValueError , randrange )
509
521
# Empty range
510
522
raises (3 , 3 )
511
523
raises (- 721 )
512
524
raises (0 , 100 , - 12 )
513
525
self .assertWarns (DeprecationWarning , raises , 3 , 3 , 1.0 )
514
526
# Non-integer start/stop
515
- raises ( 3.14159 )
516
- self .assertWarns (DeprecationWarning , self . gen . randrange , 3.0 )
517
- self .assertWarns (DeprecationWarning , self . gen . randrange , Fraction (3 , 1 ))
518
- raises ( '3' )
519
- raises ( 0 , 2.71828 )
520
- self .assertWarns (DeprecationWarning , self . gen . randrange , 0 , 2.0 )
521
- self .assertWarns (DeprecationWarning , self . gen . randrange , 0 , Fraction (2 , 1 ))
522
- raises ( 0 , '2' )
527
+ self . assertRaises ( TypeError , randrange , 3.14159 )
528
+ self .assertWarns (DeprecationWarning , randrange , 3.0 )
529
+ self .assertWarns (DeprecationWarning , randrange , Fraction (3 , 1 ))
530
+ self . assertRaises ( TypeError , randrange , '3' )
531
+ self . assertRaises ( TypeError , randrange , 0 , 2.71828 )
532
+ self .assertWarns (DeprecationWarning , randrange , 0 , 2.0 )
533
+ self .assertWarns (DeprecationWarning , randrange , 0 , Fraction (2 , 1 ))
534
+ self . assertRaises ( TypeError , randrange , 0 , '2' )
523
535
# Zero and non-integer step
524
536
raises (0 , 42 , 0 )
525
- raises ( 0 , 42 , 3.14159 )
526
- self .assertWarns (DeprecationWarning , self . gen . randrange , 0 , 42 , 3.0 )
527
- self .assertWarns (DeprecationWarning , self . gen . randrange , 0 , 42 , Fraction (3 , 1 ))
528
- raises ( 0 , 42 , '3' )
537
+ self . assertRaises ( TypeError , randrange , 0 , 42 , 3.14159 )
538
+ self .assertWarns (DeprecationWarning , randrange , 0 , 42 , 3.0 )
539
+ self .assertWarns (DeprecationWarning , randrange , 0 , 42 , Fraction (3 , 1 ))
540
+ self . assertRaises ( TypeError , randrange , 0 , 42 , '3' )
529
541
530
542
def test_randbelow_logic (self , _log = log , int = int ):
531
543
# check bitcount transition points: 2**i and 2**(i+1)-1
0 commit comments