8000 Parametrize test_preprocess_data by test function. · matplotlib/matplotlib@400c5d6 · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

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)
0