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['foreground_slo_ms'] > 0
    assert 0 <= c['background_cpu_pct'] <= 100
    for k in ['cpu_pressure','memory_pressure','io_pressure']:
        assert 0 <= c[k] <= 1
    assert c['minimum_background_progress_pct'] >= 0
    assert c['post_latency_ms'] >= 0
    assert c['post_progress_pct'] >= 0
print('PASS learner fixtures: 8 workstation interference cases')
