@@ -272,7 +272,7 @@ def test_deprecated_functions(module, prefix):
272272
273273# Dictionary of factory functions associated with primary classes
274274class_factory_function = {
275- # fs.FlatSystem: fs.flatsys,
275+ fs .FlatSystem : fs .flatsys ,
276276 ct .FrequencyResponseData : ct .frd ,
277277 ct .InterconnectedSystem : ct .interconnect ,
278278 ct .LinearICSystem : ct .interconnect ,
@@ -283,7 +283,7 @@ def test_deprecated_functions(module, prefix):
283283
284284# List of arguments described in class docstrings
285285class_args = {
286- # fs.FlatSystem: ['forward', 'reverse', 'updfcn', 'outfcn '],
286+ fs .FlatSystem : ['forward' , 'reverse' ],
287287 ct .FrequencyResponseData : ['response' , 'omega' , 'dt' ],
288288 ct .NonlinearIOSystem : [
289289 'updfcn' , 'outfcn' , 'inputs' , 'outputs' , 'states' , 'params' , 'dt' ],
@@ -297,7 +297,7 @@ def test_deprecated_functions(module, prefix):
297297
298298# List of attributes defined for specific I/O systems
299299class_attributes = {
300- # fs.FlatSystem: [],
300+ fs .FlatSystem : [],
301301 ct .FrequencyResponseData : [],
302302 ct .NonlinearIOSystem : [],
303303 ct .StateSpace : ['nstates' , 'state_labels' ],
@@ -315,7 +315,7 @@ def test_deprecated_functions(module, prefix):
315315# List of arguments described (only) in factory function docstrings
316316std_factory_args = ['inputs' , 'outputs' , 'name' ]
317317factory_args = {
318- # fs.flatsys: [],
318+ fs .flatsys : [],
319319 ct .frd : ['sys' ],
320320 ct .nlsys : [],
321321 ct .ss : ['sys' , 'states' ],
@@ -337,7 +337,7 @@ def test_iosys_primary_classes(cls, fcn, args):
337337 # Make sure we reference the factory function
338338 if re .search (
339339 r"created.*(with|by|using).*the[\s]*"
340- f":func:`~control. { fcn .__name__ } `"
340+ f":func:`~control\\ ..* { fcn .__name__ } `"
341341 r"[\s]factory[\s]function" , docstring , re .DOTALL ) is None :
342342 pytest .fail (
343343 f"{ cls .__name__ } does not reference factory function "
@@ -357,6 +357,7 @@ def test_iosys_attribute_lists(cls, ignore_future_warning):
357357
358358 # Create a system that we can scan for attributes
359359 sys = ct .rss (2 , 1 , 1 )
360+ ignore_args = []
360361 match fcn :
361362 case ct .tf :
362363 sys = ct .tf (sys )
@@ -366,9 +367,9 @@ def test_iosys_attribute_lists(cls, ignore_future_warning):
366367 ignore_args = ['state_labels' ]
367368 case ct .nlsys :
368369 sys = ct .nlsys (sys )
369- ignore_args = []
370- case _:
371- ignore_args = []
370+ case fs . flatsys :
371+ sys = fs . flatsys ( sys )
372+ sys = fs . flatsys ( sys . forward , sys . reverse )
372373
373374 docstring = inspect .getdoc (cls )
374375 for name , obj in inspect .getmembers (sys ):
0 commit comments