from pathlib import Path
import json
R=Path(__file__).resolve().parent
cases=json.loads((R/'fixtures/cases.json').read_text(encoding='utf-8'))['cases']
assert len(cases)==8
for c in cases:
    assert c['reference_state'] in {'LINKED','UNREFERENCED','UNKNOWN'}
    assert isinstance(c['reachable'],bool)
    assert c['observed_size'] is None or c['observed_size'] >= 0
    assert isinstance(c['provenance_present'],bool)
    assert isinstance(c['trusted_recovery_available'],bool)
    assert isinstance(c['closure_integrity_ok'],bool)
    assert isinstance(c['closure_provenance_ok'],bool)
print('PASS learner fixtures: 8 artifact loss/corruption cases')
