def test_nyquist_legacy():
    ct.use_legacy_defaults('0.9.1')

    # Example that generated a warning using earlier defaults
    s = ct.tf('s')
    sys = (0.02 * s**3 - 0.1 * s) / (s**4 + s**3 + s**2 + 0.25 * s + 0.04)

    with pytest.warns(UserWarning, match="indented contour may miss"):
        count = ct.nyquist_plot(sys)
 def test_legacy_defaults(self):
     ct.use_legacy_defaults('0.8.3')
     assert(isinstance(ct.ss(0,0,0,1).D, np.matrix))
     ct.reset_defaults()
     assert(isinstance(ct.ss(0,0,0,1).D, np.ndarray))
     # test that old versions don't raise a problem
     ct.use_legacy_defaults('0.6c')
     ct.use_legacy_defaults('0.8.2')
     ct.use_legacy_defaults('0.1')
     ct.config.reset_defaults()
Beispiel #3
0
    def test_legacy_defaults(self):
        with pytest.deprecated_call():
            ct.use_legacy_defaults('0.8.3')
            assert (isinstance(ct.ss(0, 0, 0, 1).D, np.matrix))
        ct.reset_defaults()
        assert isinstance(ct.ss(0, 0, 0, 1).D, np.ndarray)
        assert not isinstance(ct.ss(0, 0, 0, 1).D, np.matrix)

        ct.use_legacy_defaults('0.8.4')
        assert ct.config.defaults['forced_response.return_x'] is True

        ct.use_legacy_defaults('0.9.0')
        assert isinstance(ct.ss(0, 0, 0, 1).D, np.ndarray)
        assert not isinstance(ct.ss(0, 0, 0, 1).D, np.matrix)

        # test that old versions don't raise a problem
        ct.use_legacy_defaults('REL-0.1')
        ct.use_legacy_defaults('control-0.3a')
        ct.use_legacy_defaults('0.6c')
        ct.use_legacy_defaults('0.8.2')
        ct.use_legacy_defaults('0.1')

        # Make sure that nonsense versions generate an error
        with pytest.raises(ValueError):
            ct.use_legacy_defaults("a.b.c")
        with pytest.raises(ValueError):
            ct.use_legacy_defaults("1.x.3")
 def test_legacy_defaults(self):
     ct.use_legacy_defaults('0.8.3')
     assert (isinstance(ct.ss(0, 0, 0, 1).D, np.matrix))
     ct.reset_defaults()
     assert (isinstance(ct.ss(0, 0, 0, 1).D, np.ndarray))