feat: validate real-bench seat orchestration and self-repair
This commit is contained in:
@@ -66,7 +66,11 @@ class SeatFrontendInputCoverageTests(unittest.TestCase):
|
||||
{"thermal", "motion", "combined", "mode"},
|
||||
)
|
||||
self.assertEqual(
|
||||
{case["mode_id"] for case in self.positive_cases if case["group"] == "mode"},
|
||||
{
|
||||
case["mode_id"]
|
||||
for case in self.positive_cases
|
||||
if case["group"] == "mode" and case.get("mode_id")
|
||||
},
|
||||
{
|
||||
"easy_entry_exit",
|
||||
"office",
|
||||
@@ -79,6 +83,8 @@ class SeatFrontendInputCoverageTests(unittest.TestCase):
|
||||
"electric_beach_chair",
|
||||
"nap",
|
||||
"zero_gravity",
|
||||
"rocking_horse",
|
||||
"dynamic_cradle",
|
||||
},
|
||||
)
|
||||
|
||||
@@ -150,6 +156,19 @@ class SeatFrontendInputCoverageTests(unittest.TestCase):
|
||||
for field, expected in expected_motion.items():
|
||||
if field != "axis":
|
||||
self.assertEqual(operation["motion"][field], expected)
|
||||
expected_dynamic_mode = case.get("expected_dynamic_mode")
|
||||
if expected_dynamic_mode:
|
||||
capability = (
|
||||
"seat.stop_dynamic_mode"
|
||||
if expected_dynamic_mode["mode_id"] == 0
|
||||
else "seat.start_dynamic_mode"
|
||||
)
|
||||
self.assertIn(capability, by_capability)
|
||||
if expected_dynamic_mode["mode_id"]:
|
||||
self.assertEqual(
|
||||
by_capability[capability]["parameters"]["mode_id"],
|
||||
expected_dynamic_mode["mode_id"],
|
||||
)
|
||||
|
||||
def test_every_rejection_utterance_stops_before_execution(self) -> None:
|
||||
for case in self.rejection_cases:
|
||||
|
||||
Reference in New Issue
Block a user