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
assert len({c['id'] for c in cases})==8
for c in cases:
    assert c['manifest']['direct']
    assert isinstance(c['resolved_tree'],dict)
    assert isinstance(c['package_manager'],dict)
    assert isinstance(c['runtime'],dict)
    assert isinstance(c['platform'],dict)
    assert isinstance(c['symptom_reproduced'],bool)
    assert isinstance(c['evidence_complete'],bool)
    assert isinstance(c['recurrence_tested'],bool)
print('PASS: 8 deterministic synthetic dependency/toolchain fixtures loaded')
