@@ -143,19 +143,25 @@ def test_sisotool_mimo(self, sys222, sys221):
143143
144144@pytest .mark .usefixtures ("mplcleanup" )
145145class TestPidDesigner :
146- syscont = TransferFunction (1 ,[1 , 3 , 0 ])
147- sysdisc1 = c2d (TransferFunction (1 ,[1 , 3 , 0 ]), .1 )
148- syscont221 = StateSpace ([[- .3 , 0 ],[1 ,0 ]],[[- 1 ,],[.1 ,]], [0 , - .3 ], 0 )
146+ @pytest .fixture
147+ def plant (self , request ):
148+ plants = {
149+ 'syscont' :TransferFunction (1 ,[1 , 3 , 0 ]),
150+ 'sysdisc1' :c2d (TransferFunction (1 ,[1 , 3 , 0 ]), .1 ),
151+ 'syscont221' :StateSpace ([[- .3 , 0 ],[1 ,0 ]],[[- 1 ,],[.1 ,]], [0 , - .3 ], 0 )}
152+ return plants [request .param ]
149153
150154 # cont or discrete, vary P I or D
151- @pytest .mark .parametrize ('plant' , (syscont , sysdisc1 ))
155+ # @pytest.mark.parametrize('plant', (syscont, sysdisc1))
156+ @pytest .mark .parametrize ('plant' , ('syscont' , 'sysdisc1' ), indirect = True )
152157 @pytest .mark .parametrize ('gain' , ('P' , 'I' , 'D' ))
153158 @pytest .mark .parametrize ("kwargs" , [{'Kp0' :0.01 },])
154159 def test_pid_designer_1 (self , plant , gain , kwargs ):
155160 pid_designer (plant , gain , ** kwargs )
156161
157162 # input from reference or disturbance
158- @pytest .mark .parametrize ('plant' , (syscont , syscont221 ))
163+ @pytest .mark .parametrize ('plant' , ('syscont' , 'syscont221' ), indirect = True )
164+ # @pytest.mark.parametrize('plant', (syscont, syscont221))
159165 @pytest .mark .parametrize ("kwargs" , [
160166 {'input_signal' :'r' , 'Kp0' :0.01 , 'derivative_in_feedback_path' :True },
161167 {'input_signal' :'d' , 'Kp0' :0.01 , 'derivative_in_feedback_path' :True },])
0 commit comments