fix path errors
This commit is contained in:
@@ -12,6 +12,8 @@ from orisys.signal_processing import (
|
||||
NORMAL_FORCE_CAL_SLOPE,
|
||||
LowpassFilter,
|
||||
calibrate_normal_force,
|
||||
calibrate_shear_components,
|
||||
calibrate_shear_force,
|
||||
lowpass_filter,
|
||||
)
|
||||
|
||||
@@ -73,6 +75,46 @@ def test_calibrate_normal_force_preserves_linear_curve():
|
||||
assert calibrate_normal_force(0.0) == pytest.approx(NORMAL_FORCE_CAL_OFFSET)
|
||||
|
||||
|
||||
def test_calibrate_normal_force_mini_uses_legacy_linear_file():
|
||||
raw = 10000.0
|
||||
expected = NORMAL_FORCE_CAL_SLOPE * raw + NORMAL_FORCE_CAL_OFFSET
|
||||
assert calibrate_normal_force(raw, sensor_name="mini") == pytest.approx(expected)
|
||||
|
||||
|
||||
def test_calibrate_normal_force_box_uses_piecewise_curve():
|
||||
assert calibrate_normal_force(10000.0, sensor_name="box") == pytest.approx(0.377)
|
||||
assert calibrate_normal_force(30000.0, sensor_name="box") == pytest.approx(1.377)
|
||||
# Mid-segment interpolation between 10000→0.377 and 30000→1.377
|
||||
mid = calibrate_normal_force(20000.0, sensor_name="box")
|
||||
assert mid == pytest.approx(0.877)
|
||||
# Below first breakpoint with extrapolate=true
|
||||
assert calibrate_normal_force(0.0, sensor_name="box") == pytest.approx(0.0)
|
||||
|
||||
|
||||
def test_calibrate_shear_force_box_piecewise():
|
||||
assert calibrate_shear_force(1000.0, sensor_name="box") == pytest.approx(0.0)
|
||||
assert calibrate_shear_force(36000.0, sensor_name="box") == pytest.approx(1.19)
|
||||
assert calibrate_shear_force(68000.0, sensor_name="box") == pytest.approx(2.06)
|
||||
|
||||
|
||||
def test_calibrate_shear_components_box_signed():
|
||||
sx, sy = calibrate_shear_components(36000.0, -36000.0, sensor_name="box")
|
||||
assert sx == pytest.approx(1.19)
|
||||
assert sy == pytest.approx(-1.19)
|
||||
|
||||
|
||||
def test_calibrate_shear_missing_file_returns_raw():
|
||||
assert calibrate_shear_force(1234.5, sensor_name="no-such-sensor") == pytest.approx(1234.5)
|
||||
sx, sy = calibrate_shear_components(1.0, -2.0, sensor_name="no-such-sensor")
|
||||
assert (sx, sy) == pytest.approx((1.0, -2.0))
|
||||
|
||||
|
||||
def test_calibrate_normal_force_unknown_sensor_falls_back_to_defaults():
|
||||
raw = 5000.0
|
||||
expected = NORMAL_FORCE_CAL_SLOPE * raw + NORMAL_FORCE_CAL_OFFSET
|
||||
assert calibrate_normal_force(raw, sensor_name="no-such-sensor") == pytest.approx(expected)
|
||||
|
||||
|
||||
def _external_sensor():
|
||||
return Sensor("external", config_name="box", verbose=False, backend="cpu")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user