Validation explorer
What the tests prove
test_data: every coded policy has all fields, a valid code, an https source, and a short verbatim quote as evidence. It also checks internal consistency: a "course tool only" policy must have a course tool, and a "prohibited" policy can't.
test_analysis: the analysis functions match hand-computed answers on a 3-row fixture, null handling is correct (unstated ≠ "no"), and the totals reconcile on the real data.
test_site: the data shipped to the dashboard equals the source dataset and a fresh analysis run, so the charts can't drift from the data. It also checks that every page exists and links to the others, and that every timeline entry is timestamped.
Not covered by tests: whether each code is the right reading of its policy. That takes human judgment. To check, open the source links on the dashboard and compare a sample of quotes and levels yourself.
All test results
| Status | File | Test | Time (s) |
|---|
Reproduce
python -m venv .venv .venv/Scripts/python -m pip install pytest pypdf # (bin/ on macOS/Linux) .venv/Scripts/python scripts/build.py # runs analysis + all tests, regenerates this page's data