@@ -22,7 +22,7 @@ def plot_func(ax, x, y, ls="x", label=None, w="xyz"):
22
22
23
23
@_preprocess_data (replace_names = ["x" , "y" ], label_namer = "y" ,
24
24
positional_parameter_names = ["x" , "y" , "ls" , "label" , "w" ])
25
- def plot_func_varags (ax , * args , ** kwargs ):
25
+ def plot_func_varargs (ax , * args , ** kwargs ):
26
26
all_args = [None , None , "x" , None , "xyz" ]
27
27
for i , v in enumerate (args ):
28
28
all_args [i ] = v
@@ -34,7 +34,8 @@ def plot_func_varags(ax, *args, **kwargs):
34
34
list (x ), list (y ), ls , w , label ))
35
35
36
36
37
- all_funcs = [plot_func , plot_func_varags ]
37
+ all_funcs = [plot_func , plot_func_varargs ]
38
+ all_func_ids = ['plot_func' , 'plot_func_varargs' ]
38
39
39
40
40
41
def test_compiletime_checks ():
@@ -106,78 +107,78 @@ def func(*args, **kwargs):
106
107
func (None , x = "a" , y = "b" )
107
108
108
109
109
- def test_function_call_without_data ():
110
+ @pytest .mark .parametrize ('func' , all_funcs , ids = all_func_ids )
111
+ def test_function_call_without_data (func ):
110
112
"""test without data -> no replacements"""
111
- for func in all_funcs :
112
- assert ( func ( None , "x" , "y" ) ==
113
- "x: ['x'] , y: ['y'], ls: x, w: xyz, label: None" )
114
- assert ( func ( None , x = "x" , y = "y" ) ==
115
- "x: ['x'], y: ['y'], ls: x, w: xyz, label: None" )
116
- assert ( func ( None , "x" , "y" , label = "" ) ==
117
- "x: ['x'], y: ['y'], ls: x, w: xyz, label: " )
118
- assert ( func ( None , "x" , "y" , label = " text" ) ==
119
- "x: ['x'] , y: ['y'], ls: x, w: xyz, label: text" )
120
- assert ( func ( None , x = "x" , y = "y" , label = "" ) ==
121
- "x: ['x'] , y: ['y'], ls: x, w: xyz, label: " )
122
- assert ( func ( None , x = "x" , y = "y" , label = " text" ) ==
123
- "x: ['x'], y: ['y'], ls: x, w: xyz, label: text" )
124
-
125
-
126
- def test_function_call_with_dict_data ():
113
+ assert ( func ( None , "x" , "y" ) ==
114
+ "x: ['x'], y: ['y'], ls: x, w: xyz, label: None" )
115
+ assert ( func ( None , x = "x" , y = "y" ) ==
116
+ "x: ['x'] , y: ['y'], ls: x, w: xyz, label: None" )
117
+ assert ( func ( None , "x" , "y" , label = "" ) ==
118
+ "x: ['x'], y: ['y'], ls: x, w: xyz, label: " )
119
+ assert ( func ( None , "x" , "y" , label = "text" ) ==
120
+ "x: ['x'], y: ['y'], ls: x, w: xyz, label: text" )
121
+ assert ( func ( None , x = "x" , y = "y" , label = "" ) ==
122
+ "x: ['x'] , y: ['y'], ls: x, w: xyz, label: " )
123
+ assert ( func ( None , x = "x" , y = "y" , label = "text" ) ==
124
+ "x: ['x'] , y: ['y'], ls: x, w: xyz, label: text" )
125
+
126
+
127
+ @ pytest . mark . parametrize ( 'func' , all_funcs , ids = all_func_ids )
128
+ def test_function_call_with_dict_data (func ):
127
129
"""Test with dict data -> label comes from the value of 'x' parameter """
128
130
data = {"a" : [1 , 2 ], "b" : [8 , 9 ], "w" : "NOT" }
129
- for func in all_funcs :
130
- assert ( func ( None , "a" , "b" , data = data ) ==
131
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
132
- assert ( func ( None , x = "a" , y = "b" , data = data ) ==
133
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
134
- assert ( func ( None , "a" , "b" , label = "" , data = data ) ==
135
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
136
- assert ( func ( None , "a" , "b" , label = " text", data = data ) ==
137
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
138
- assert ( func ( None , x = "a" , y = "b" , label = "" , data = data ) ==
139
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
140
- assert ( func ( None , x = "a" , y = "b" , label = " text", data = data ) ==
141
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
142
-
143
-
144
- def test_function_call_with_dict_data_not_in_data ():
131
+ assert ( func ( None , "a" , "b" , data = data ) ==
132
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
133
+ assert ( func ( None , x = "a" , y = "b" , data = data ) ==
134
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
135
+ assert ( func ( None , "a" , "b" , label = "" , data = data ) ==
136
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
137
+ assert ( func ( None , "a" , "b" , label = "text" , data = data ) ==
138
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text")
139
+ assert ( func ( None , x = "a" , y = "b" , label = "" , data = data ) ==
140
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
141
+ assert ( func ( None , x = "a" , y = "b" , label = "text" , data = data ) ==
142
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text")
143
+
144
+
145
+ @ pytest . mark . parametrize ( 'func' , all_funcs , ids = all_func_ids )
146
+ def test_function_call_with_dict_data_not_in_data (func ):
145
147
"test for the case that one var is not in data -> half replaces, half kept"
146
148
data = {"a" : [1 , 2 ], "w" : "NOT" }
147
- for func in all_funcs :
148
- assert ( func ( None , "a" , "b" , data = data ) ==
149
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: b" )
150
- assert ( func ( None , x = "a" , y = "b" , data = data ) ==
151
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: b" )
152
- assert ( func ( None , "a" , "b" , label = "" , data = data ) ==
153
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: " )
154
- assert ( func ( None , "a" , "b" , label = " text", data = data ) ==
155
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: text" )
156
- assert ( func ( None , x = "a" , y = "b" , label = "" , data = data ) ==
157
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: " )
158
- assert ( func ( None , x = "a" , y = "b" , label = " text", data = data ) ==
159
- "x: [1, 2], y: ['b'], ls: x, w: xyz, label: text" )
160
-
161
-
162
- def test_function_call_with_pandas_data ():
149
+ assert ( func ( None , "a" , "b" , data = data ) ==
150
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: b" )
151
+ assert ( func ( None , x = "a" , y = "b" , data = data ) ==
152
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: b" )
153
+ assert ( func ( None , "a" , "b" , label = "" , data = data ) ==
154
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: " )
155
+ assert ( func ( None , "a" , "b" , label = "text" , data = data ) ==
156
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: text")
157
+ assert ( func ( None , x = "a" , y = "b" , label = "" , data = data ) ==
158
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: " )
159
+ assert ( func ( None , x = "a" , y = "b" , label = "text" , data = data ) ==
160
+ "x: [1, 2], y: ['b'], ls: x, w: xyz, label: text")
161
+
162
+
163
+ @ pytest . mark . parametrize ( 'func' , all_funcs , ids = all_func_ids )
164
+ def test_function_call_with_pandas_data (func ):
163
165
"""test with pandas dataframe -> label comes from data["col"].name """
164
166
pd = pytest .importorskip ('pandas' )
165
167
166
168
data = pd .DataFrame ({"a" : [1 , 2 ], "b" : [8 , 9 ], "w" : ["NOT" , "NOT" ]})
167
169
168
- for func in all_funcs :
169
- assert (func (None , "a" , "b" , data = data ) ==
170
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
171
- assert (func (None , x = "a" , y = "b" , data = data ) ==
172
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
173
- assert (func (None , "a" , "b" , label = "" , data = data ) ==
174
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
175
- assert (func (None , "a" , "b" , label = "text" , data = data ) ==
176
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
177
- assert (func (None , x = "a" , y = "b" , label = "" , data = data ) ==
178
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
179
- assert (func (None , x = "a" , y = "b" , label = "text" , data = data ) ==
180
- "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
170
+ assert (func (None , "a" , "b" , data = data ) ==
171
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
172
+ assert (func (None , x = "a" , y = "b" , data = data ) ==
173
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: b" )
174
+ assert (func (None , "a" , "b" , label = "" , data = data ) ==
175
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
176
+ assert (func (None , "a" , "b" , label = "text" , data = data ) ==
177
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
178
+ assert (func (None , x = "a" , y = "b" , label = "" , data = data ) ==
179
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: " )
180
+ assert (func (None , x = "a" , y = "b" , label = "text" , data = data ) ==
181
+ "x: [1, 2], y: [8, 9], ls: x, w: xyz, label: text" )
181
182
182
183
183
184
def test_function_call_replace_all ():
0 commit comments