mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 06:33:57 +08:00
* add pytest-asyncio * switch common * switch selfdrive * switch system * switch tools * small fixes * fix setUp and valgrind pytest * switch to setup * fix random * switch mock * switch test_lateral_limits * revert test_ui * fix poetry.lock * add unittest to banned-api * add inline ignores to remaining unittest imports * revert test_models * revert check_can_parser_performance * one more skip --------- Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
22 lines
749 B
Python
22 lines
749 B
Python
import numpy as np
|
|
|
|
from openpilot.common.numpy_fast import interp
|
|
|
|
|
|
class TestInterp:
|
|
def test_correctness_controls(self):
|
|
_A_CRUISE_MIN_BP = np.asarray([0., 5., 10., 20., 40.])
|
|
_A_CRUISE_MIN_V = np.asarray([-1.0, -.8, -.67, -.5, -.30])
|
|
v_ego_arr = [-1, -1e-12, 0, 4, 5, 6, 7, 10, 11, 15.2, 20, 21, 39,
|
|
39.999999, 40, 41]
|
|
|
|
expected = np.interp(v_ego_arr, _A_CRUISE_MIN_BP, _A_CRUISE_MIN_V)
|
|
actual = interp(v_ego_arr, _A_CRUISE_MIN_BP, _A_CRUISE_MIN_V)
|
|
|
|
np.testing.assert_equal(actual, expected)
|
|
|
|
for v_ego in v_ego_arr:
|
|
expected = np.interp(v_ego, _A_CRUISE_MIN_BP, _A_CRUISE_MIN_V)
|
|
actual = interp(v_ego, _A_CRUISE_MIN_BP, _A_CRUISE_MIN_V)
|
|
np.testing.assert_equal(actual, expected)
|