@@ -780,17 +780,24 @@ def __int__(self):
780780
781781 pi = PseudoFloat (3.1415 )
782782
783- self .assertRaisesRegex (TypeError , '%x format: an integer is required, not float' , operator .mod , '%x' , 3.14 )
784- self .assertRaisesRegex (TypeError , '%X format: an integer is required, not float' , operator .mod , '%X' , 2.11 )
785- self .assertRaisesRegex (TypeError , '%o format: an integer is required, not float' , operator .mod , '%o' , 1.79 )
786- self .assertRaisesRegex (TypeError , '%x format: an integer is required, not PseudoFloat' , operator .mod , '%x' , pi )
787- self .assertRaisesRegex (TypeError , '%x format: an integer is required, not complex' , operator .mod , '%x' , 3j )
788- self .assertRaisesRegex (TypeError , '%X format: an integer is required, not complex' , operator .mod , '%X' , 2j )
789- self .assertRaisesRegex (TypeError , '%o format: an integer is required, not complex' , operator .mod , '%o' , 1j )
790- self .assertRaisesRegex (TypeError , '%u format: a real number is required, not complex' , operator .mod , '%u' , 3j )
791- self .assertRaisesRegex (TypeError , '%i format: a real number is required, not complex' , operator .mod , '%i' , 2j )
792- self .assertRaisesRegex (TypeError , '%d format: a real number is required, not complex' , operator .mod , '%d' , 2j )
793- self .assertRaisesRegex (TypeError , r'%c requires an int or a unicode character, not .*\.PseudoFloat' , operator .mod , '%c' , pi )
783+ mod = operator .mod
784+ exceptions_params = [
785+ ('%x format: an integer is required, not float' , '%x' , 3.14 ),
786+ ('%X format: an integer is required, not float' , '%X' , 2.11 ),
787+ ('%o format: an integer is required, not float' , '%o' , 1.79 ),
788+ ('%x format: an integer is required, not PseudoFloat' , '%x' , pi ),
789+ ('%x format: an integer is required, not complex' , '%x' , 3j ),
790+ ('%X format: an integer is required, not complex' , '%X' , 2j ),
791+ ('%o format: an integer is required, not complex' , '%o' , 1j ),
792+ ('%u format: a real number is required, not complex' , '%u' , 3j ),
793+ ('%i format: a real number is required, not complex' , '%i' , 2j ),
794+ ('%d format: a real number is required, not complex' , '%d' , 2j ),
795+ (r'%c requires an int or a unicode character, not .*\.PseudoFloat' ,
796+ '%c' , pi ),
797+ ]
798+
799+ for msg , format , value in exceptions_params :
800+ self .assertRaisesRegex (TypeError , msg , mod , format , value )
794801
795802 def test_imod (self ):
796803 b = self .type2test (b'hello, %b!' )
0 commit comments