Merge pull request #1030 from murrayrm/diemilio-main · python-control/python-control@da64e0e

@@ -258,7 +258,7 @@ def test_combine_time_responses():

258258

sys_mimo = ct.rss(4, 2, 2)

259259

timepts = np.linspace(0, 10, 100)

260260261-

# Combine two response with ntrace = 0

261+

# Combine two responses with ntrace = 0

262262

U = np.vstack([np.sin(timepts), np.cos(2*timepts)])

263263

resp1 = ct.input_output_response(sys_mimo, timepts, U)

264264

@@ -293,6 +293,7 @@ def test_combine_time_responses():

293293

combresp4 = ct.combine_time_responses(

294294

[resp1, resp2, resp3], trace_labels=labels)

295295

assert combresp4.trace_labels == labels

296+

assert combresp4.trace_types == [None, None, 'step', 'step']

296297297298

# Automatically generated trace label names and types

298299

resp5 = ct.step_response(sys_mimo, timepts)

@@ -302,7 +303,13 @@ def test_combine_time_responses():

302303

combresp5 = ct.combine_time_responses([resp1, resp5])

303304

assert combresp5.trace_labels == [resp1.title] + \

304305

["test, trace 0", "test, trace 1"]

305-

assert combresp4.trace_types == [None, None, 'step', 'step']

306+

assert combresp5.trace_types == [None, None, None]

307+308+

# ntraces = 0 with trace_types != None

309+

# https://github.com/python-control/python-control/issues/1025

310+

resp6 = ct.forced_response(sys_mimo, timepts, U)

311+

combresp6 = ct.combine_time_responses([resp1, resp6])

312+

assert combresp6.trace_types == [None, 'forced']

306313307314

with pytest.raises(ValueError, match="must have the same number"):

308315

resp = ct.step_response(ct.rss(4, 2, 3), timepts)