# pylint: skip-file import numpy as np import debye_bec.devices.mo1_bragg.mo1_bragg_utils as utils def test_compute_spline(): p, v, dt = utils.compute_spline( low_deg=10, high_deg=12, p_kink=50, e_kink_deg=11, scan_time=0.5 ) rtol = 1e-6 atol = 1e-3 p_desired = [ 9.98, 9.98376125, 9.99479, 10.01270375, 10.03712, 10.06765625, 10.10393, 10.14555875, 10.19216, 10.24335125, 10.29875, 10.35797375, 10.42064, 10.48636625, 10.55477, 10.62546875, 10.69808, 10.77222125, 10.84751, 10.92356375, 11.0, 11.07643625, 11.15249, 11.22777875, 11.30192, 11.37453125, 11.44523, 11.51363375, 11.57936, 11.64202625, 11.70125, 11.75664875, 11.80784, 11.85444125, 11.89607, 11.93234375, 11.96288, 11.98729625, 12.00521, 12.01623875, 12.02, ] v_desired = [ 0.0, 1.50156441, 2.35715667, 2.90783907, 3.29035796, 3.57019636, 3.78263174, 3.9483388, 4.08022441, 4.18675043, 4.27368333, 4.34507577, 4.40384627, 4.45213618, 4.49153736, 4.52324148, 4.54814006, 4.5668924, 4.57997194, 4.58769736, 4.59025246, 4.58769736, 4.57997194, 4.5668924, 4.54814006, 4.52324148, 4.49153736, 4.45213618, 4.40384627, 4.34507577, 4.27368333, 4.18675043, 4.08022441, 3.9483388, 3.78263174, 3.57019636, 3.29035796, 2.90783907, 2.35715667, 1.50156441, 0.0, ] dt_desired = [ 0.0, 4.34081063, 5.57222438, 6.73882688, 7.84061813, 8.87759812, 9.84976688, 10.75712437, 11.59967063, 12.37740563, 13.09032937, 13.73844188, 14.32174313, 14.84023312, 15.29391188, 15.68277937, 16.00683562, 16.26608063, 16.46051438, 16.59013687, 16.65494813, 16.65494813, 16.59013687, 16.46051438, 16.26608063, 16.00683562, 15.68277938, 15.29391188, 14.84023312, 14.32174313, 13.73844187, 13.09032938, 12.37740562, 11.59967063, 10.75712437, 9.84976687, 8.87759813, 7.84061812, 6.73882688, 5.57222437, 4.34081063, ] np.testing.assert_allclose(p, p_desired, rtol, atol) np.testing.assert_allclose(v, v_desired, rtol, atol) np.testing.assert_allclose(dt, dt_desired, rtol, atol) assert utils.SAFETY_FACTOR == 0.025 assert utils.N_SAMPLES == 41 assert utils.DEGREE_SPLINE == 3 assert utils.TIME_COMPENSATE_SPLINE == 0.0062 assert utils.POSITION_COMPONSATION == 0.02