This commit is contained in:
vee
2026-07-30 18:55:28 +08:00
parent 49f5c49c53
commit 8cda026ac2
22 changed files with 315 additions and 86 deletions
+42 -1
View File
@@ -24,7 +24,7 @@ class ModeProfileRegistryTests(unittest.TestCase):
self.assertEqual(requests[0]["capability"], "seat.set_longitudinal_position")
self.assertEqual(requests[0]["target_scope"], "passenger")
self.assertIn(
{"name": "position_pct", "value": 0},
{"name": "position_pct", "value": 100},
requests[0]["parameters"],
)
by_capability = {request["capability"]: request for request in requests}
@@ -88,6 +88,47 @@ class ModeProfileRegistryTests(unittest.TestCase):
"calf_decompression_float",
)
def test_denza_mode_positions_use_corrected_n7_zero_points(self) -> None:
registry = ModeProfileRegistry(REPOSITORY_ROOT / "config" / "modes")
expected_positions = {
"baby_nap": (81, 30),
"calf_decompression_float": (51, 75),
"cruise_sofa": (51, 30),
"easy_entry_exit": (100, 0),
"electric_beach_chair": (100, 0),
"leisure_lounger": (51, 30),
"meditation_space": (100, 44),
"nap": (0, 0),
"office": (72, 22),
"queen_passenger_driving": (72, 38),
"zero_gravity": (100, 100),
}
profiles = {
profile.id: profile
for profile in registry.profiles()
if profile.id in expected_positions and profile.vehicle_ids == ("denza_n7",)
}
actual_positions = {}
for profile_id, profile in profiles.items():
requests = {
request["capability"]: request
for request in registry.requests_for_profiles([profile])
}
actual_positions[profile_id] = tuple(
next(
parameter["value"]
for parameter in requests[capability]["parameters"]
if parameter["name"] == "position_pct"
)
for capability in (
"seat.set_longitudinal_position",
"seat.set_cushion_tilt",
)
)
self.assertEqual(actual_positions, expected_positions)
def test_common_modes_are_visible_with_vehicle_specific_overrides(self) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
+4 -1
View File
@@ -26,7 +26,10 @@ class VehicleProfileTests(unittest.TestCase):
})
self.assertEqual(profile.seat_motors["longitudinal"].range, 215)
self.assertEqual(profile.seat_motors["longitudinal"].hall_total_pulses, 480)
self.assertEqual(profile.seat_motors["longitudinal"].reference_zero, "rearmost")
self.assertEqual(profile.seat_motors["longitudinal"].reference_zero, "forwardmost")
self.assertEqual(profile.seat_motors["longitudinal"].positive_direction, "backward")
self.assertEqual(profile.seat_motors["cushion_tilt"].reference_zero, "highest")
self.assertEqual(profile.seat_motors["cushion_tilt"].positive_direction, "down")
self.assertEqual(profile.seat_motors["backrest_recline"].range, 68)
self.assertEqual(profile.seat_motors["backrest_recline"].hall_total_pulses, 917)
self.assertEqual(profile.seat_motors["legrest_height"].range, 78)