Skip to content

Commit caca725

Browse files
committed
change test format
1 parent e3db67e commit caca725

1 file changed

Lines changed: 51 additions & 29 deletions

File tree

‎tests/test_parameterset.py‎

Lines changed: 51 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -86,41 +86,63 @@ def test_add_parameter_set_deprecated(self):
8686
# message that names its replacement, and have the same effect on the set.
8787

8888

89-
@pytest.mark.parametrize(
90-
"deprecated_name, replacement_name",
91-
[
92-
# C1: A Parameter is stored under the set.
93-
# Expected: addParameter warns and stores it as add_parameter does.
94-
("addParameter", "add_parameter"),
95-
# C2: A Parameter is created and stored in one call.
96-
# Expected: newParameter warns and creates it as new_parameter does.
97-
("newParameter", "new_parameter"),
98-
# C3: A stored Parameter is removed from the set.
99-
# Expected: removeParameter warns and removes it as
100-
# remove_parameter does.
101-
("removeParameter", "remove_parameter"),
102-
],
103-
)
104-
def test_parameter_accessors_warn_and_forward(
105-
deprecated_name, replacement_name
106-
):
107-
base = "diffpy.srfit.fitbase.parameterset.ParameterSet"
89+
# C1: A Parameter is stored under the set with the deprecated name.
90+
# Expected: addParameter warns and stores it as add_parameter does.
91+
def test_add_parameter_deprecated():
10892
expected_msg = (
109-
f"'{base}.{deprecated_name}' is deprecated and will be removed in "
110-
f"version 4.0.0. Please use '{base}.{replacement_name}' instead."
93+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.addParameter' is "
94+
"deprecated and will be removed in version 4.0.0. "
95+
"Please use "
96+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.add_parameter' "
97+
"instead."
11198
)
99+
expected_names = ["p1"]
112100
parset = ParameterSet("test")
113-
if deprecated_name == "newParameter":
114-
arguments = ("p1", 1)
115-
elif deprecated_name == "removeParameter":
116-
arguments = (parset.new_parameter("p1", 1),)
117-
else:
118-
arguments = (Parameter("p1", 1),)
119101

120102
with pytest.warns(DeprecationWarning, match=re.escape(expected_msg)):
121-
getattr(parset, deprecated_name)(*arguments)
103+
parset.addParameter(Parameter("p1", 1))
104+
105+
actual_names = [par.name for par in parset._parameters.values()]
106+
assert actual_names == expected_names
107+
108+
109+
# C2: A Parameter is created and stored with the deprecated name.
110+
# Expected: newParameter warns and creates it as new_parameter does.
111+
def test_new_parameter_deprecated():
112+
expected_msg = (
113+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.newParameter' is "
114+
"deprecated and will be removed in version 4.0.0. "
115+
"Please use "
116+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.new_parameter' "
117+
"instead."
118+
)
119+
expected_names = ["p1"]
120+
parset = ParameterSet("test")
121+
122+
with pytest.warns(DeprecationWarning, match=re.escape(expected_msg)):
123+
parset.newParameter("p1", 1)
124+
125+
actual_names = [par.name for par in parset._parameters.values()]
126+
assert actual_names == expected_names
127+
128+
129+
# C3: A stored Parameter is removed from the set with the deprecated name.
130+
# Expected: removeParameter warns and removes it as remove_parameter does.
131+
def test_remove_parameter_deprecated():
132+
expected_msg = (
133+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.removeParameter' is "
134+
"deprecated and will be removed in version 4.0.0. "
135+
"Please use "
136+
"'diffpy.srfit.fitbase.parameterset.ParameterSet.remove_parameter' "
137+
"instead."
138+
)
139+
expected_names = []
140+
parset = ParameterSet("test")
141+
p1 = parset.new_parameter("p1", 1)
142+
143+
with pytest.warns(DeprecationWarning, match=re.escape(expected_msg)):
144+
parset.removeParameter(p1)
122145

123-
expected_names = [] if deprecated_name == "removeParameter" else ["p1"]
124146
actual_names = [par.name for par in parset._parameters.values()]
125147
assert actual_names == expected_names
126148

0 commit comments

Comments
 (0)