Suite de tests unitaires pour tous les modules pipeline qui ne dépendent
pas du VLM — utiles pour garantir la non-régression après refactor et
servir de spec vivante de chaque fonction.
Fichiers :
- tests/test_json_utils.py (20 tests) : parse_json_output + toutes les
stratégies de récupération (fences, virgules manquantes, boucles vides,
fermeture JSON, fallback _raw/_parse_error)
- tests/test_deskew.py (11 tests) : détection Hough + correction,
image synthétique + fixtures cache réel
- tests/test_checkboxes.py (17 tests) : parse_ghs_injustifie,
dark_ratio, inner_frac, et ground truth visuel sur 17 dossiers
(mapping hash→OGC résolu au runtime pour éviter les constantes fragiles)
- tests/test_validation.py (18 tests) : _check_cim10/ccam/ghm/ghs,
cross-checks GHM↔GHS, annotate sur JSON vide et complet,
preservation de l'input (copie défensive)
- tests/test_schema.py (8 tests) : clean_dossier retire les champs
debug, préserve les champs métier, compacte la validation, ne modifie
pas l'input
- tests/test_zones_config.py (8 tests) : load/save round-trip, merge
avec defaults, résilience JSON corrompu, get_zone
Total : 107 tests, 5.1 s d'exécution, tous passent. Aucune dépendance
GPU, s'exécutent en CI.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>