Files
gaokao-volunteer-system/data/crowd_db/tests/test_quality_summary.py
Hermes Agent 09caa3309f
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
feat(legal+data): harden legal drafts and crowd_db provenance
2026-06-21 11:54:16 +08:00

37 lines
1.1 KiB
Python

from __future__ import annotations
from data.crowd_db.loader import CrowdDBLoader
def test_build_quality_summary_returns_expected_shape():
from data.crowd_db.quality_summary import build_quality_summary
summary = build_quality_summary(CrowdDBLoader(warn_low_confidence=False))
assert summary["total_provinces"] == 27
assert summary["by_quality_level"]
assert set(summary["by_quality_level"]).issuperset({"high", "usable", "skeleton"})
assert len(summary["provinces"]) == 27
first = summary["provinces"][0]
assert set(first).issuperset({
"province",
"confidence",
"quality_level",
"quality_label",
"data_year",
"source_type",
})
hunan = next(p for p in summary["provinces"] if p["province"] == "湖南")
assert hunan["quality_level"] == "high"
def test_quality_summary_cli_human_output(capsys):
from data.crowd_db.quality_summary import main
code = main(["--human"])
captured = capsys.readouterr()
assert code == 0
assert "province_count: 27" in captured.out
assert "quality_counts:" in captured.out
assert "湖南" in captured.out