Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 400c5d6

Browse files
committed
Parametrize test_preprocess_data by test function.
1 parent f030a8c commit 400c5d6

File tree

1 file changed

+65
-64
lines changed

1 file changed

+65
-64
lines changed

lib/matplotlib/tests/test_preprocess_data.py

Lines changed: 65 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def plot_func(ax, x, y, ls="x", label=None, w="xyz"):
2222

2323
@_preprocess_data(replace_names=["x", "y"], label_namer="y",
2424
positional_parameter_names=["x", "y", "ls", "label", "w"])
25-
def plot_func_varags(ax, *args, **kwargs):
25+
def plot_func_varargs(ax, *args, **kwargs):
2626
all_args = [None, None, "x", None, "xyz"]
2727
for i, v in enumerate(args):
2828
all_args[i] = v
@@ -34,7 +34,8 @@ def plot_func_varags(ax, *args, **kwargs):
3434
list(x), list(y), ls, w, label))
3535

3636

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']
3839

3940

4041
def test_compiletime_checks():
@@ -106,78 +107,78 @@ def func(*args, **kwargs):
106107
func(None, x="a", y="b")
107108

108109

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):
110112
"""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):
127129
"""Test with dict data -> label comes from the value of 'x' parameter """
128130
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):
145147
"test for the case that one var is not in data -> half replaces, half kept"
146148
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):
163165
"""test with pandas dataframe -> label comes from data["col"].name """
164166
pd = pytest.importorskip('pandas')
165167

166168
data = pd.DataFrame({"a": [1, 2], "b": [8, 9], "w": ["NOT", "NOT"]})
167169

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")
181182

182183

183184
def test_function_call_replace_all():

0 commit comments

Comments
 (0)