# Modul `tests/` Automatische Tests prüfen die aktuelle Software ohne Pi-Hardware. - `test_controller.py` prüft Zustandswechsel, Stopp, Neustartvoraussetzungen und gespeicherten Modus mit kontrollierter Uhr und temporären Daten. - `test_web.py` prüft Demo-Bild und Webendpunkte über einen ASGI-Client. - `test_event_store.py` prüft dauerhafte Ereignisse, Profilzuordnung, Profil-Löschen, 30-Tage-Ablauf und die Erweiterung einer älteren Ereignistabelle. - Lokal ausführen: `python3 -m unittest discover -s tests -v`; für Webtests wird zusätzlich `requirements-dev.txt` benötigt. - Hardwareverhalten, echte Pi-Kamera, WLAN, SSH-Tunnel und Außeneinsatz nicht aus einem grünen Host-Test ableiten; diese Prüfungen getrennt berichten. - Tests für neue Sicherheits- oder Zustandsregeln an beobachtbarem Verhalten ausrichten, nicht bloß interne Implementierung spiegeln. - `test_detection.py` prüft Linienrichtung, Bestätigung, Flattern, Segmentgrenzen, Gruppenfreigabe, Sperrzeit, Neustart/Änderungen, Fehler-Watchdog, synchrone Frames und Konfigurations-API mit kontrollierter Uhr ohne Modell/Pi. - Echte NanoDet-Inferenz zusätzlich mit ausdrücklich installiertem Modell prüfen; ein grüner Geometrietest bestätigt keine Erkennungsqualität. - `test_detection_model.py` prüft atomare/identische Installation und Ablehnung falscher Downloads ohne Netzwerk. Optional `HALLOWEEN_TEST_MODEL` auf eine geprüfte ONNX-Datei setzen: Dann wird die echte Inferenz auf leerem Bild geprüft.