Skip to content

Commit 1bc0119

Browse files
committed
Remove imports needed for eval
Provide relevant symbols via `locals` argument to eval.
1 parent 2a18331 commit 1bc0119

2 files changed

Lines changed: 4 additions & 7 deletions

File tree

control/tests/config_test.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,11 +339,8 @@ def test_system_indexing(self):
339339
{'dt': 0.1}
340340
])
341341
def test_repr_format(self, kwargs):
342-
from ..statesp import StateSpace
343-
from numpy import array
344-
345342
sys = ct.ss([[1]], [[1]], [[1]], [[0]], **kwargs)
346-
new = eval(repr(sys))
343+
new = eval(repr(sys), locals={'StateSpace':ct.StateSpace, 'array':np.array})
347344
for attr in ['A', 'B', 'C', 'D']:
348345
assert getattr(new, attr) == getattr(sys, attr)
349346
for prop in ['input_labels', 'output_labels', 'state_labels']:

control/tests/namedio_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -366,15 +366,15 @@ def test_negative_system_spec():
366366

367367
# Named signal representations
368368
def test_named_signal_repr():
369-
from numpy import array
370-
from ..iosys import NamedSignal
371369
sys = ct.rss(
372370
states=2, inputs=['u1', 'u2'], outputs=['y1', 'y2'],
373371
state_prefix='xi')
374372
resp = sys.step_response(np.linspace(0, 1, 3))
375373

376374
for signal in ['inputs', 'outputs', 'states']:
377375
sig_orig = getattr(resp, signal)
378-
sig_eval = eval(repr(sig_orig))
376+
sig_eval = eval(repr(sig_orig),
377+
locals={'array': np.array,
378+
'NamedSignal': ct.NamedSignal})
379379
assert sig_eval.signal_labels == sig_orig.signal_labels
380380
assert sig_eval.trace_labels == sig_orig.trace_labels

0 commit comments

Comments
 (0)