1515
1616import control as ct
1717from control import iosys as ios
18- from control .tests .conftest import noscipy0 , matrixfilter
18+ from control .tests .conftest import matrixfilter
1919
2020class TestIOSys :
2121
@@ -46,7 +46,6 @@ class TSys:
4646
4747 return T
4848
49- @noscipy0
5049 def test_linear_iosys (self , tsys ):
5150 # Create an input/output system from the linear system
5251 linsys = tsys .siso_linsys
@@ -65,7 +64,6 @@ def test_linear_iosys(self, tsys):
6564 np .testing .assert_array_almost_equal (lti_t , ios_t )
6665 np .testing .assert_allclose (lti_y , ios_y , atol = 0.002 , rtol = 0. )
6766
68- @noscipy0
6967 def test_tf2io (self , tsys ):
7068 # Create a transfer function from the state space system
7169 linsys = tsys .siso_linsys
@@ -129,7 +127,6 @@ def test_iosys_print(self, tsys, capsys):
129127 ios_linearized = ios .linearize (ios_unspecified , [0 , 0 ], [0 ])
130128 print (ios_linearized )
131129
132- @noscipy0
133130 @pytest .mark .parametrize ("ss" , [ios .NonlinearIOSystem , ct .ss ])
134131 def test_nonlinear_iosys (self , tsys , ss ):
135132 # Create a simple nonlinear I/O system
@@ -236,7 +233,6 @@ def test_linearize_named_signals(self, kincar):
236233 assert lin_nocopy .find_output ('x' ) is None
237234 assert lin_nocopy .find_state ('x' ) is None
238235
239- @noscipy0
240236 def test_connect (self , tsys ):
241237 # Define a couple of (linear) systems to interconnection
242238 linsys1 = tsys .siso_linsys
@@ -294,7 +290,6 @@ def test_connect(self, tsys):
294290 np .testing .assert_array_almost_equal (lti_t , ios_t )
295291 np .testing .assert_allclose (lti_y , ios_y ,atol = 0.002 ,rtol = 0. )
296292
297- @noscipy0
298293 @pytest .mark .parametrize (
299294 "connections, inplist, outlist" ,
300295 [pytest .param ([[(1 , 0 ), (0 , 0 , 1 )]], [[(0 , 0 , 1 )]], [[(1 , 0 , 1 )]],
@@ -338,7 +333,6 @@ def test_connect_spec_variants(self, tsys, connections, inplist, outlist):
338333 np .testing .assert_array_almost_equal (lti_t , ios_t )
339334 np .testing .assert_allclose (lti_y , ios_y , atol = 0.002 , rtol = 0. )
340335
341- @noscipy0
342336 @pytest .mark .parametrize (
343337 "connections, inplist, outlist" ,
344338 [pytest .param ([['sys2.u[0]' , 'sys1.y[0]' ]],
@@ -375,7 +369,6 @@ def test_connect_spec_warnings(self, tsys, connections, inplist, outlist):
375369 np .testing .assert_array_almost_equal (lti_t , ios_t )
376370 np .testing .assert_allclose (lti_y , ios_y , atol = 0.002 , rtol = 0. )
377371
378- @noscipy0
379372 def test_static_nonlinearity (self , tsys ):
380373 # Linear dynamical system
381374 linsys = tsys .siso_linsys
@@ -400,7 +393,6 @@ def test_static_nonlinearity(self, tsys):
400393 np .testing .assert_array_almost_equal (lti_y , ios_y , decimal = 2 )
401394
402395
403- @noscipy0
404396 @pytest .mark .filterwarnings ("ignore:Duplicate name::control.iosys" )
405397 def test_algebraic_loop (self , tsys ):
406398 # Create some linear and nonlinear systems to play with
@@ -470,7 +462,6 @@ def test_algebraic_loop(self, tsys):
470462 with pytest .raises (RuntimeError ):
471463 ios .input_output_response (* args )
472464
473- @noscipy0
474465 def test_summer (self , tsys ):
475466 # Construct a MIMO system for testing
476467 linsys = tsys .mimo_linsys1
@@ -489,7 +480,6 @@ def test_summer(self, tsys):
489480 ios_t , ios_y = ios .input_output_response (iosys_parallel , T , U , X0 )
490481 np .testing .assert_allclose (ios_y , lin_y ,atol = 0.002 ,rtol = 0. )
491482
492- @noscipy0
493483 def test_rmul (self , tsys ):
494484 # Test right multiplication
495485 # TODO: replace with better tests when conversions are implemented
@@ -510,7 +500,6 @@ def test_rmul(self, tsys):
510500 lti_t , lti_y = ct .forced_response (ioslin , T , U * U , X0 )
511501 np .testing .assert_array_almost_equal (ios_y , lti_y * lti_y , decimal = 3 )
512502
513- @noscipy0
514503 def test_neg (self , tsys ):
515504 """Test negation of a system"""
516505
@@ -533,7 +522,6 @@ def test_neg(self, tsys):
533522 lti_t , lti_y = ct .forced_response (ioslin , T , U * U , X0 )
534523 np .testing .assert_array_almost_equal (ios_y , - lti_y , decimal = 3 )
535524
536- @noscipy0
537525 def test_feedback (self , tsys ):
538526 # Set up parameters for simulation
539527 T , U , X0 = tsys .T , tsys .U , tsys .X0
@@ -549,7 +537,6 @@ def test_feedback(self, tsys):
549537 lti_t , lti_y = ct .forced_response (linsys , T , U , X0 )
550538 np .testing .assert_allclose (ios_y , lti_y ,atol = 0.002 ,rtol = 0. )
551539
552- @noscipy0
553540 def test_bdalg_functions (self , tsys ):
554541 """Test block diagram functions algebra on I/O systems"""
555542 # Set up parameters for simulation
@@ -596,7 +583,6 @@ def test_bdalg_functions(self, tsys):
596583 ios_t , ios_y = ios .input_output_response (iosys_feedback , T , U , X0 )
597584 np .testing .assert_allclose (ios_y , lin_y ,atol = 0.002 ,rtol = 0. )
598585
599- @noscipy0
600586 def test_algebraic_functions (self , tsys ):
601587 """Test algebraic operations on I/O systems"""
602588 # Set up parameters for simulation
@@ -648,7 +634,6 @@ def test_algebraic_functions(self, tsys):
648634 ios_t , ios_y = ios .input_output_response (iosys_negate , T , U , X0 )
649635 np .testing .assert_allclose (ios_y , lin_y ,atol = 0.002 ,rtol = 0. )
650636
651- @noscipy0
652637 def test_nonsquare_bdalg (self , tsys ):
653638 # Set up parameters for simulation
654639 T = tsys .T
@@ -699,7 +684,6 @@ def test_nonsquare_bdalg(self, tsys):
699684 with pytest .raises (ValueError ):
700685 ct .series (* args )
701686
702- @noscipy0
703687 def test_discrete (self , tsys ):
704688 """Test discrete time functionality"""
705689 # Create some linear and nonlinear systems to play with
@@ -868,7 +852,6 @@ def test_find_eqpts(self, tsys):
868852 assert xeq is None
869853 assert ueq is None
870854
871- @noscipy0
872855 def test_params (self , tsys ):
873856 # Start with the default set of parameters
874857 ios_secord_default = ios .NonlinearIOSystem (
0 commit comments