@@ -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