@@ -504,28 +504,40 @@ def test_randrange_nonunit_step(self):
504504 rint = self .gen .randrange (0 , 2 , 2 )
505505 self .assertEqual (rint , 0 )
506506
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+
507518 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 )
509521 # Empty range
510522 raises (3 , 3 )
511523 raises (- 721 )
512524 raises (0 , 100 , - 12 )
513525 self .assertWarns (DeprecationWarning , raises , 3 , 3 , 1.0 )
514526 # 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' )
523535 # Zero and non-integer step
524536 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' )
529541
530542 def test_randbelow_logic (self , _log = log , int = int ):
531543 # check bitcount transition points: 2**i and 2**(i+1)-1
0 commit comments