| # | Test | Status |
| 1 | init -> beide Aktoren STOP, 0 mA | ok |
| 2 | apply: invalid ID -> EINVAL | ok |
| 3 | apply: PWM > 100% -> EINVAL | ok |
| 4 | apply normal -> direction=APPLY, pwm=80 | ok |
| 5 | release normal -> direction=RELEASE | ok |
| 6 | ISR-Sample setzt current_ma und peak | ok |
| 7 | Overcurrent > 8 A fuer 100 ms -> STOP + overcurrent flag | ok |
| 8 | Overcurrent < 100 ms loest noch nicht aus | ok |
| 9 | nach Overcurrent: weiterer apply -> EOVERCURRENT | ok |
| 10 | Klemmkraft-Schaetzung aus Peak-Strom (SWE-015) | ok |
| 11 | stop -> direction=STOP, pwm=0 | ok |
| # | Test | Status |
| 1 | init -> RELEASED | ok |
| 2 | step_50ms(NULL) -> last_error=EINVAL | ok |
| 3 | Apply-Request bei Stillstand -> APPLYING | ok |
| 4 | Apply-Request ohne Stillstand wird ignoriert | ok |
| 5 | APPLYING -> APPLIED wenn beide Klemmkraefte >= Target | ok |
| 6 | APPLYING-Timeout (>30 Steps) -> ERROR | ok |
| 7 | APPLIED haelt Klemmkraft (SWE-001) | ok |
| 8 | Release ohne Engine wird abgelehnt | ok |
| 9 | Release mit allen Voraussetzungen -> RELEASING -> RELEASED | ok |
| 10 | Safety-Manager Apply-Request (Hill-Hold/Auto-Apply) | ok |
| 11 | Step-Counter steigt monoton (SWE-002 Watchdog-Alive) | ok |
| 12 | ERROR -> RELEASED bei neutralem Switch | ok |
| # | Test | Status |
| 1 | init -> IDLE, kein Apply-Request | ok |
| 2 | NULL Input ist no-op | ok |
| 3 | SWE-007: Motor aus + Stillstand -> AUTO_APPLY_ARMED | ok |
| 4 | SWE-008: nach ca. 2s -> TRIGGERED + Apply-Request | ok |
| 5 | Auto-Apply bricht ab wenn Motor wieder an | ok |
| 6 | AUTO_APPLY_TRIGGERED -> IDLE wenn Apply Controller fertig | ok |
| 7 | SWE-009: Grad >5% + Stillstand + Bremse -> HILL_HOLD_ARMED | ok |
| 8 | Hill-Hold auch bei negativem Grad (abschuessig) | ok |
| 9 | Grad < 5% -> kein Hill-Hold | ok |
| 10 | SWE-010: Bremse losgelassen -> HILL_HOLD_ACTIVE + Apply-Request | ok |
| 11 | HILL_HOLD_ACTIVE endet wenn Fahrzeug rollt (v > 2 km/h) | ok |
| 12 | HILL_HOLD_ARMED -> IDLE wenn Grad < 5% wird | ok |
| 13 | Bereits Applied: kein Auto-Apply Arming | ok |