Merge pull request #1030 from murrayrm/diemilio-main · python-control/python-control@da64e0e
@@ -258,7 +258,7 @@ def test_combine_time_responses():
258258sys_mimo = ct.rss(4, 2, 2)
259259timepts = np.linspace(0, 10, 100)
260260261-# Combine two response with ntrace = 0
261+# Combine two responses with ntrace = 0
262262U = np.vstack([np.sin(timepts), np.cos(2*timepts)])
263263resp1 = ct.input_output_response(sys_mimo, timepts, U)
264264@@ -293,6 +293,7 @@ def test_combine_time_responses():
293293combresp4 = ct.combine_time_responses(
294294 [resp1, resp2, resp3], trace_labels=labels)
295295assert combresp4.trace_labels == labels
296+assert combresp4.trace_types == [None, None, 'step', 'step']
296297297298# Automatically generated trace label names and types
298299resp5 = ct.step_response(sys_mimo, timepts)
@@ -302,7 +303,13 @@ def test_combine_time_responses():
302303combresp5 = ct.combine_time_responses([resp1, resp5])
303304assert 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']
306313307314with pytest.raises(ValueError, match="must have the same number"):
308315resp = ct.step_response(ct.rss(4, 2, 3), timepts)