def test_update_equation_function(switch_fixture):
sys = SwitchedSystem(
dim_output=1,
event_variable_equation_function=event_variable_equation_function,
event_bounds=switch_fixture[0],
state_equations_functions=switch_fixture[1],
output_equations_functions=switch_fixture[2],
)
assert not hasattr(sys, 'condition_idx')
sys.prepare_to_integrate()
assert sys.condition_idx is None
sys.update_equation_function(np.random.rand(1), bounds_min)
assert sys.condition_idx == 0
for cnd_idx, zero in enumerate(switch_fixture[0]):
sys.update_equation_function(np.random.rand(1), zero)
assert sys.condition_idx == cnd_idx+1
if len(switch_fixture[0]) > 1:
with pytest.warns(UserWarning):
sys.update_equation_function(np.random.rand(1), bounds_min)
评论列表
文章目录