PropertyExtractValidatorTest

21

tests

0

failures

0

ignored

0.011s

duration

100%

successful

Tests

Test Duration Result
BooleanExplicit FAIL — ascenseur=true sans sourceQuote, HARD_FAIL + override null() 0s passed
BooleanExplicit FAIL — cave=true avec sourceQuote blank, HARD_FAIL() 0s passed
BooleanExplicit PASS — ascenseur=true avec sourceQuote, validation OK() 0s passed
BooleanExplicit — Boolean null est ignoré (rien à valider)() 0s passed
COHERENCE — cas terrain-pour-habitable (96 euros par m2) override surface a null() 0.001s passed
COHERENCE — prix par m2 aberrant declenche SOFT_DEGRADE et override surface a null() 0s passed
COHERENCE — prix realiste ne declenche pas de warning() 0.001s passed
CROSS_CHECK fail — quote absente du markdown - HALLUCINATED + override null() 0.001s passed
CROSS_CHECK pass — quote presente dans markdown - AGREE() 0s passed
CROSS_CHECK — sans markdown, quote présente mais markdown vide - SINGLE_SOURCE() 0s passed
HARD_FAIL — code postal invalide declenche HardFail() 0s passed
HARD_FAIL — prix au-dessus de 50M declenche HardFail() 0.003s passed
HARD_FAIL — prix negatif declenche HardFail et override null() 0s passed
HARD_FAIL — surface negative declenche HardFail() 0.001s passed
MISSING — valeur null et quote null - MISSING + confidence 0() 0.002s passed
NORMALISATION — NBSP dans quote et espace normal dans markdown - AGREE() 0.001s passed
NORMALISATION — apostrophe typographique dans markdown - AGREE() 0s passed
NORMALISATION — collapse whitespace + casse insensible() 0s passed
SOFT_DEGRADE — DPE hors enum override a null et confidence 0() 0.001s passed
SOFT_DEGRADE — DPE valide (case insensitive) passe() 0s passed
WARN_LOG — nbPieces excessif (greater than 20) declenche warning mais garde la valeur() 0s passed

Standard output

01:02:19.694 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL validation field=prix value=-1 rule=IntRange
01:02:19.695 [Test worker] INFO com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- WARN_LOG validation field=nbPieces value=50 rule=IntRange
01:02:19.699 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HALLUCINATION detected field=dpe sourceQuote="DPE C" value=C
01:02:19.699 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL validation field=codePostal value=7501 rule=Regex
01:02:19.702 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL validation field=prix value=60000000 rule=IntRange
01:02:19.704 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL BooleanExplicit field=ascenseur value=true reason=missing_sourceQuote
01:02:19.705 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- SOFT_DEGRADE validation field=dpe value=X rule=Enum
01:02:19.706 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL BooleanExplicit field=cave value=true reason=missing_sourceQuote
01:02:19.709 [Test worker] WARN com.alertimmo.aiscraping.extraction.validator.PropertyExtractValidator -- HARD_FAIL validation field=surface value=-10 rule=IntRange