Skip to content

Commit 4b44923

Browse files
committed
add ndarray.ndim==0 to test_squeeze
1 parent efb79a7 commit 4b44923

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

control/tests/lti_test.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,28 +160,46 @@ def test_isdtime(self, objfun, arg, dt, ref, strictref):
160160
@pytest.mark.parametrize("fcn", [ct.ss, ct.tf, ct.frd, ct.ss2io])
161161
@pytest.mark.parametrize("nstate, nout, ninp, omega, squeeze, shape", [
162162
[1, 1, 1, 0.1, None, ()], # SISO
163+
[1, 1, 1, np.array(0.1), None, ()],
163164
[1, 1, 1, [0.1], None, (1,)],
164165
[1, 1, 1, [0.1, 1, 10], None, (3,)],
165166
[2, 1, 1, 0.1, True, ()],
167+
[2, 1, 1, np.array(0.1), True, ()],
166168
[2, 1, 1, [0.1], True, ()],
167169
[2, 1, 1, [0.1, 1, 10], True, (3,)],
168170
[3, 1, 1, 0.1, False, (1, 1)],
171+
[3, 1, 1, np.array(0.1), False, (1, 1)],
169172
[3, 1, 1, [0.1], False, (1, 1, 1)],
170173
[3, 1, 1, [0.1, 1, 10], False, (1, 1, 3)],
171174
[1, 2, 1, 0.1, None, (2, 1)], # SIMO
175+
[1, 2, 1, np.array(0.1), None, (2, 1)],
172176
[1, 2, 1, [0.1], None, (2, 1, 1)],
173177
[1, 2, 1, [0.1, 1, 10], None, (2, 1, 3)],
174178
[2, 2, 1, 0.1, True, (2,)],
179+
[2, 2, 1, np.array(0.1), True, (2,)],
175180
[2, 2, 1, [0.1], True, (2,)],
176181
[3, 2, 1, 0.1, False, (2, 1)],
182+
[3, 2, 1, np.array(0.1), False, (2, 1)],
177183
[3, 2, 1, [0.1], False, (2, 1, 1)],
178184
[3, 2, 1, [0.1, 1, 10], False, (2, 1, 3)],
179185
[1, 1, 2, [0.1, 1, 10], None, (1, 2, 3)], # MISO
180186
[2, 1, 2, [0.1, 1, 10], True, (2, 3)],
181187
[3, 1, 2, [0.1, 1, 10], False, (1, 2, 3)],
188+
[1, 1, 2, 0.1, None, (1, 2)],
189+
[1, 1, 2, np.array(0.1), None, (1, 2)],
190+
[1, 1, 2, 0.1, True, (2,)],
191+
[1, 1, 2, np.array(0.1), True, (2,)],
192+
[1, 1, 2, 0.1, False, (1, 2)],
193+
[1, 1, 2, np.array(0.1), False, (1, 2)],
182194
[1, 2, 2, [0.1, 1, 10], None, (2, 2, 3)], # MIMO
183195
[2, 2, 2, [0.1, 1, 10], True, (2, 2, 3)],
184-
[3, 2, 2, [0.1, 1, 10], False, (2, 2, 3)]
196+
[3, 2, 2, [0.1, 1, 10], False, (2, 2, 3)],
197+
[1, 2, 2, 0.1, None, (2, 2)],
198+
[1, 2, 2, np.array(0.1), None, (2, 2)],
199+
[2, 2, 2, 0.1, True, (2, 2)],
200+
[2, 2, 2, np.array(0.1), True, (2, 2)],
201+
[3, 2, 2, 0.1, False, (2, 2)],
202+
[3, 2, 2, np.array(0.1), False, (2, 2)],
185203
])
186204
def test_squeeze(self, fcn, nstate, nout, ninp, omega, squeeze, shape):
187205
# Create the system to be tested
@@ -194,8 +212,8 @@ def test_squeeze(self, fcn, nstate, nout, ninp, omega, squeeze, shape):
194212
sys = fcn(ct.rss(nstate, nout, ninp))
195213

196214
# Convert the frequency list to an array for easy of use
197-
isscalar = not hasattr(omega, '__len__')
198-
omega = np.array(omega)
215+
omega = np.asarray(omega)
216+
isscalar = omega.ndim == 0
199217

200218
# Call the transfer function directly and make sure shape is correct
201219
assert sys(omega * 1j, squeeze=squeeze).shape == shape

0 commit comments

Comments
 (0)