@@ -481,44 +481,50 @@ def test_randrange_nonunit_step(self):
481481 self .assertEqual (rint , 0 )
482482
483483 def test_randrange_errors (self ):
484- raises_value_error = partial (self .assertRaises , ValueError , self .gen .randrange )
485- raises_type_error = partial (self .assertRaises , TypeError , self .gen .randrange )
486-
484+ raises = partial (self .assertRaises , ValueError , self .gen .randrange )
487485 # Empty range
488- raises_value_error (3 , 3 )
489- raises_value_error (- 721 )
490- raises_value_error (0 , 100 , - 12 )
491-
492- # Zero step
493- raises_value_error (0 , 42 , 0 )
494- raises_type_error (0 , 42 , 0.0 )
495- raises_type_error (0 , 0 , 0.0 )
496-
497- # Non-integer stop
498- raises_type_error (3.14159 )
499- raises_type_error (3.0 )
500- raises_type_error (Fraction (3 , 1 ))
501- raises_type_error ('3' )
502- raises_type_error (0 , 2.71827 )
503- raises_type_error (0 , 2.0 )
504- raises_type_error (0 , Fraction (2 , 1 ))
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 )
514-
515- # Non-integer step
516- raises_type_error (0 , 42 , 3.14159 )
517- raises_type_error (0 , 42 , 3.0 )
518- raises_type_error (0 , 42 , Fraction (3 , 1 ))
519- raises_type_error (0 , 42 , '3' )
520- raises_type_error (0 , 42 , 1.0 )
521- raises_type_error (0 , 0 , 1.0 )
486+ raises (3 , 3 )
487+ raises (- 721 )
488+ raises (0 , 100 , - 12 )
489+ # Non-integer start/stop
490+ self .assertWarns (DeprecationWarning , raises , 3.14159 )
491+ self .assertWarns (DeprecationWarning , self .gen .randrange , 3.0 )
492+ self .assertWarns (DeprecationWarning , self .gen .randrange , Fraction (3 , 1 ))
493+ self .assertWarns (DeprecationWarning , raises , '3' )
494+ self .assertWarns (DeprecationWarning , raises , 0 , 2.71828 )
495+ self .assertWarns (DeprecationWarning , self .gen .randrange , 0 , 2.0 )
496+ self .assertWarns (DeprecationWarning , self .gen .randrange , 0 , Fraction (2 , 1 ))
497+ self .assertWarns (DeprecationWarning , raises , 0 , '2' )
498+ # Zero and non-integer step
499+ raises (0 , 42 , 0 )
500+ self .assertWarns (DeprecationWarning , raises , 0 , 42 , 0.0 )
501+ self .assertWarns (DeprecationWarning , raises , 0 , 0 , 0.0 )
502+ self .assertWarns (DeprecationWarning , raises , 0 , 42 , 3.14159 )
503+ self .assertWarns (DeprecationWarning , self .gen .randrange , 0 , 42 , 3.0 )
504+ self .assertWarns (DeprecationWarning , self .gen .randrange , 0 , 42 , Fraction (3 , 1 ))
505+ self .assertWarns (DeprecationWarning , raises , 0 , 42 , '3' )
506+ self .assertWarns (DeprecationWarning , self .gen .randrange , 0 , 42 , 1.0 )
507+ self .assertWarns (DeprecationWarning , raises , 0 , 0 , 1.0 )
508+
509+ def test_randrange_argument_handling (self ):
510+ randrange = self .gen .randrange
511+ with self .assertWarns (DeprecationWarning ):
512+ randrange (10.0 , 20 , 2 )
513+ with self .assertWarns (DeprecationWarning ):
514+ randrange (10 , 20.0 , 2 )
515+ with self .assertWarns (DeprecationWarning ):
516+ randrange (10 , 20 , 1.0 )
517+ with self .assertWarns (DeprecationWarning ):
518+ randrange (10 , 20 , 2.0 )
519+ with self .assertWarns (DeprecationWarning ):
520+ with self .assertRaises (ValueError ):
521+ randrange (10.5 )
522+ with self .assertWarns (DeprecationWarning ):
523+ with self .assertRaises (ValueError ):
524+ randrange (10 , 20.5 )
525+ with self .assertWarns (DeprecationWarning ):
526+ with self .assertRaises (ValueError ):
527+ randrange (10 , 20 , 1.5 )
522528
523529 def test_randrange_step (self ):
524530 # bpo-42772: When stop is None, the step argument was being ignored.
0 commit comments