diff --git a/pynumdiff/tests/test_optimize.py b/pynumdiff/tests/test_optimize.py index 643e4f4..3b0830a 100644 --- a/pynumdiff/tests/test_optimize.py +++ b/pynumdiff/tests/test_optimize.py @@ -94,11 +94,10 @@ def test_polydiff(): assert (params1['degree'], params1['window_size'], params1['kernel']) == (6, 50, 'friedrichs') assert (params2['degree'], params2['window_size'], params2['kernel']) == (3, 10, 'gaussian') -# This test runs in a reasonable amount of time locally but for some reason takes forever in CI -# def test_rtsdiff_with_irregular_step(): -# t = np.arange(len(x))*dt; np.random.seed(7) # seed so the test can't randomly fail -# t_irreg = t + np.random.uniform(-dt/10, dt/10, *t.shape) # add jostle -# params1, val1 = optimize(rtsdiff, x, t, dxdt_truth=dxdt_truth) -# params2, val2 = optimize(rtsdiff, x, t_irreg, dxdt_truth=dxdt_truth) -# assert val2 < 1.15*val1 # optimization works and comes out similar, since jostle is small -# assert params1['qr_ratio']*0.85 < params2['qr_ratio'] < params1['qr_ratio']*1.15 +def test_rtsdiff_with_irregular_step(): + t = np.arange(len(x))*dt; np.random.seed(7) # seed so the test can't randomly fail + t_irreg = t + np.random.uniform(-dt/10, dt/10, *t.shape) # add jostle + params1, val1 = optimize(rtsdiff, x, t, dxdt_truth=dxdt_truth, search_space_updates={'forwardbackward':False}) + params2, val2 = optimize(rtsdiff, x, t_irreg, dxdt_truth=dxdt_truth, search_space_updates={'forwardbackward':False}) + assert val2 < 1.2*val1 # optimization works and comes out similar, since jostle is small + assert params1['qr_ratio']*0.8 < params2['qr_ratio'] < params1['qr_ratio']*1.2