Files
StarPilot/starpilot/common/tests/test_lane_centering_galaxy.py
T
2026-08-21 01:24:53 -04:00

53 lines
1.6 KiB
Python

import json
from pathlib import Path
_LAYOUT_PATH = Path(__file__).resolve().parents[1] / "assets/device_settings_layout.json"
def _sections():
layout = json.loads(_LAYOUT_PATH.read_text(encoding="utf-8"))
return {
section["name"]: {param["key"]: param for param in section["params"]}
for section in layout
}
def test_lane_centering_is_only_in_galaxy_developer_section():
sections = _sections()
keys = {"LaneCentering", "LaneCenterOffset", "LaneCenteringPauseOnSignal", "LaneCenteringE2EAuthority"}
assert keys <= sections["Developer"].keys()
for name, params in sections.items():
if name != "Developer":
assert keys.isdisjoint(params)
for key in keys:
assert sections["Developer"][key]["settings_tier"] == "advanced"
def test_lane_centering_galaxy_controls():
developer = _sections()["Developer"]
centering = developer["LaneCentering"]
offset = developer["LaneCenterOffset"]
pause_on_signal = developer["LaneCenteringPauseOnSignal"]
e2e_authority = developer["LaneCenteringE2EAuthority"]
assert centering["ui_type"] == "toggle"
assert centering["is_parent_toggle"] is True
assert pause_on_signal["ui_type"] == "toggle"
assert pause_on_signal["parent_key"] == "LaneCentering"
assert offset["parent_key"] == "LaneCentering"
assert offset["min"] == -0.3
assert offset["max"] == 0.3
assert offset["step"] == 0.01
assert e2e_authority["parent_key"] == "LaneCentering"
assert e2e_authority["min"] == 0.0
assert e2e_authority["max"] == 1.0
assert e2e_authority["step"] == 0.05
assert e2e_authority["control"] == "slider"
assert len(e2e_authority["description_steps"]) == 5