#NEWLINE# @ parameterized . expand ( [ ( ( 1 , 2 ) , { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } ) , ( ( 1 , 2 ) , { #NEWLINE# #INDENT# 'c' : 3 , #NEWLINE# #UNINDENT# } ) , ( ( 1 , ) , { #NEWLINE# #INDENT# 'b' : 2 , #NEWLINE# #UNINDENT# } ) , ( ( ) , { #NEWLINE# #INDENT# 'a' : 1 , #NEWLINE# 'b' : 2 , #NEWLINE# #UNINDENT# } ) , ( ( ) , { #NEWLINE# #INDENT# 'a' : 1 , #NEWLINE# 'b' : 2 , #NEWLINE# 'c' : 3 , #NEWLINE# #UNINDENT# } ) ] ) #NEWLINE# def test_preprocess_on_function( self , args , kwargs ) : #NEWLINE# #INDENT# decorators = [ preprocess ( a = call ( str ) , b = call ( float ) , c = call ( ( lambda x : ( x + 1 ) ) ) ) ] #NEWLINE# for decorator in decorators : #NEWLINE# #INDENT# @ decorator #NEWLINE# def func( a , b , c = 3 ) : #NEWLINE# #INDENT# return ( a , b , c ) #NEWLINE# #UNINDENT# self . assertEqual ( func ( * args , ** kwargs ) , ( '1' , 2.0 , 4 ) )