from pathlib import Path
import json,sys
from evaluator import evaluate
root=Path(__file__).parent
fixtures=json.loads((root/'fixtures/cases.json').read_text(encoding='utf-8'))['fixtures']
checks=[]
for c in fixtures:
    got=evaluate(c); exp=c['expected']
    for k in ['state','release','legal_review','recheck_changed_gates','evidence_complete','preserved_unchanged']:
        checks.append((c['id'],k,got[k]==exp[k]))
failed=[x for x in checks if not x[2]]
print(f'COM-025 LAB: {len(checks)-len(failed)}/{len(checks)} PASS')
for x in failed: print('FAIL',x)
sys.exit(1 if failed else 0)
