@@ -501,21 +501,25 @@ def testFabs(self):
501501
502502 def testFactorial (self ):
503503 self .assertEqual (math .factorial (0 ), 1 )
504- self .assertEqual (math .factorial (0.0 ), 1 )
505504 total = 1
506505 for i in range (1 , 1000 ):
507506 total *= i
508507 self .assertEqual (math .factorial (i ), total )
509- self .assertEqual (math .factorial (float (i )), total )
510508 self .assertEqual (math .factorial (i ), py_factorial (i ))
511509 self .assertRaises (ValueError , math .factorial , - 1 )
512- self .assertRaises (ValueError , math .factorial , - 1.0 )
513510 self .assertRaises (ValueError , math .factorial , - 10 ** 100 )
514- self .assertRaises (ValueError , math .factorial , - 1e100 )
515- self .assertRaises (ValueError , math .factorial , math .pi )
516511
517512 def testFactorialNonIntegers (self ):
518- self .assertRaises (TypeError , math .factorial , decimal .Decimal (5.2 ))
513+ with self .assertWarns (DeprecationWarning ):
514+ self .assertEqual (math .factorial (5.0 ), 120 )
515+ with self .assertWarns (DeprecationWarning ):
516+ self .assertRaises (ValueError , math .factorial , 5.2 )
517+ with self .assertWarns (DeprecationWarning ):
518+ self .assertRaises (ValueError , math .factorial , - 1.0 )
519+ with self .assertWarns (DeprecationWarning ):
520+ self .assertRaises (ValueError , math .factorial , - 1e100 )
521+ self .assertRaises (TypeError , math .factorial , decimal .Decimal ('5' ))
522+ self .assertRaises (TypeError , math .factorial , decimal .Decimal ('5.2' ))
519523 self .assertRaises (TypeError , math .factorial , "5" )
520524
521525 # Other implementations may place different upper bounds.
@@ -524,7 +528,8 @@ def testFactorialHugeInputs(self):
524528 # Currently raises ValueError for inputs that are too large
525529 # to fit into a C long.
526530 self .assertRaises (OverflowError , math .factorial , 10 ** 100 )
527- self .assertRaises (OverflowError , math .factorial , 1e100 )
531+ with self .assertWarns (DeprecationWarning ):
532+ self .assertRaises (OverflowError , math .factorial , 1e100 )
528533
529534 def testFloor (self ):
530535 self .assertRaises (TypeError , math .floor )
0 commit comments