@@ -69,26 +69,21 @@ sys = ODESystem(eqs, t, systems = [P, C], name = :hej)
6969 @test norm (sol. u[end ]) < 1e-6 # This fails without the feedback through C
7070end
7171
72- @testset " get_sensitivity - $name " for (name, sys, ap) in [
72+ test_cases = [
7373 (" inner" , sys, sys. plant_input),
7474 (" nested" , nested_sys, nested_sys. hej. plant_input),
75- (" inner - nonamespace" , sys, :plant_input ),
76- (" inner - Symbol" , sys, nameof (sys. plant_input)),
77- (" nested - Symbol" , nested_sys, nameof (nested_sys. hej. plant_input))
75+ (" inner - Symbol" , sys, :plant_input ),
76+ (" nested - Symbol" , nested_sys, nameof (sys. plant_input))
7877]
78+
79+ @testset " get_sensitivity - $name " for (name, sys, ap) in test_cases
7980 matrices, _ = get_sensitivity (sys, ap)
8081 @test matrices. A[] == - 2
8182 @test matrices. B[] * matrices. C[] == - 1 # either one negative
8283 @test matrices. D[] == 1
8384end
8485
85- @testset " get_comp_sensitivity - $name " for (name, sys, ap) in [
86- (" inner" , sys, sys. plant_input),
87- (" nested" , nested_sys, nested_sys. hej. plant_input),
88- (" inner - nonamespace" , sys, :plant_input ),
89- (" inner - Symbol" , sys, nameof (sys. plant_input)),
90- (" nested - Symbol" , nested_sys, nameof (nested_sys. hej. plant_input))
91- ]
86+ @testset " get_comp_sensitivity - $name " for (name, sys, ap) in test_cases
9287 matrices, _ = get_comp_sensitivity (sys, ap)
9388 @test matrices. A[] == - 2
9489 @test matrices. B[] * matrices. C[] == 1 # both positive or negative
@@ -104,13 +99,7 @@ S = sensitivity(P, C) # or feedback(1, P*C)
10499T = comp_sensitivity(P, C) # or feedback(P*C)
105100=#
106101
107- @testset " get_looptransfer - $name " for (name, sys, ap) in [
108- (" inner" , sys, sys. plant_input),
109- (" nested" , nested_sys, nested_sys. hej. plant_input),
110- (" inner - nonamespace" , sys, :plant_input ),
111- (" inner - Symbol" , sys, nameof (sys. plant_input)),
112- (" nested - Symbol" , nested_sys, nameof (nested_sys. hej. plant_input))
113- ]
102+ @testset " get_looptransfer - $name " for (name, sys, ap) in test_cases
114103 matrices, _ = get_looptransfer (sys, ap)
115104 @test matrices. A[] == - 1
116105 @test matrices. B[] * matrices. C[] == - 1 # either one negative
@@ -125,13 +114,7 @@ C = -1
125114L = P*C
126115=#
127116
128- @testset " open_loop - $name " for (name, sys, ap) in [
129- (" inner" , sys, sys. plant_input),
130- (" nested" , nested_sys, nested_sys. hej. plant_input),
131- (" inner - nonamespace" , sys, :plant_input ),
132- (" inner - Symbol" , sys, nameof (sys. plant_input)),
133- (" nested - Symbol" , nested_sys, nameof (nested_sys. hej. plant_input))
134- ]
117+ @testset " open_loop - $name " for (name, sys, ap) in test_cases
135118 open_sys, (du, u) = open_loop (sys, ap)
136119 matrices, _ = linearize (open_sys, [du], [u])
137120 @test matrices. A[] == - 1
@@ -146,13 +129,14 @@ eqs = [connect(P.output, :plant_output, C.input)
146129sys = ODESystem (eqs, t, systems = [P, C], name = :hej )
147130@named nested_sys = ODESystem (Equation[], t; systems = [sys])
148131
149- @testset " get_sensitivity - $name " for (name, sys, ap) in [
132+ test_cases = [
150133 (" inner" , sys, sys. plant_input),
151134 (" nested" , nested_sys, nested_sys. hej. plant_input),
152- (" inner - nonamespace" , sys, :plant_input ),
153- (" inner - Symbol" , sys, nameof (sys. plant_input)),
154- (" nested - Symbol" , nested_sys, nameof (nested_sys. hej. plant_input))
135+ (" inner - Symbol" , sys, :plant_input ),
136+ (" nested - Symbol" , nested_sys, nameof (sys. plant_input))
155137]
138+
139+ @testset " get_sensitivity - $name " for (name, sys, ap) in test_cases
156140 matrices, _ = get_sensitivity (sys, ap)
157141 @test matrices. A[] == - 2
158142 @test matrices. B[] * matrices. C[] == - 1 # either one negative
@@ -163,15 +147,19 @@ end
163147 (" inner" , sys, sys. plant_input, sys. plant_output),
164148 (" nested" , nested_sys, nested_sys. hej. plant_input, nested_sys. hej. plant_output)
165149]
150+ inputname = Symbol (join (
151+ MTK. namespace_hierarchy (nameof (inputap))[2 : end ], NAMESPACE_SEPARATOR))
152+ outputname = Symbol (join (
153+ MTK. namespace_hierarchy (nameof (outputap))[2 : end ], NAMESPACE_SEPARATOR))
166154 @testset " input - $(typeof (input)) , output - $(typeof (output)) " for (input, output) in [
167155 (inputap, outputap),
168- (nameof (inputap) , outputap),
169- (inputap, nameof (outputap) ),
170- (nameof (inputap), nameof (outputap) ),
156+ (inputname , outputap),
157+ (inputap, outputname ),
158+ (inputname, outputname ),
171159 (inputap, [outputap]),
172- (nameof (inputap) , [outputap]),
173- (inputap, [nameof (outputap) ]),
174- (nameof (inputap) , [nameof (outputap) ])
160+ (inputname , [outputap]),
161+ (inputap, [outputname ]),
162+ (inputname , [outputname ])
175163 ]
176164 matrices, _ = linearize (sys, input, output)
177165 # Result should be the same as feedpack(P, 1), i.e., the closed-loop transfer function from plant input to plant output
0 commit comments