Files
troupe-standup/wizard-work/quill/verify_summary.py
T

35 lines
892 B
Python

#!/usr/bin/env python3
"""verify_summary.py — Assert csv_summary.py output matches expected values."""
import sys
import json
expected_rows = 5
expected_columns = ["name", "age", "salary", "active"]
expected_age = {
"count": 5,
"sum": 150.0,
"mean": 30.0,
"median": 30.0,
"min": 25.0,
"max": 35.0,
}
expected_salary = {
"count": 5,
"sum": 265000.0,
"mean": 53000.0,
"median": 50000.0,
"min": 45000.0,
"max": 70000.0,
}
data = json.load(sys.stdin)
assert data["rows"] == expected_rows, f"rows: {data['rows']}"
assert data["columns"] == expected_columns, f"columns: {data['columns']}"
age = data["numeric"]["age"]
for k, v in expected_age.items():
assert age[k] == v, f"age.{k}: {age[k]} != {v}"
sal = data["numeric"]["salary"]
for k, v in expected_salary.items():
assert sal[k] == v, f"salary.{k}: {sal[k]} != {v}"
print("VERIFIED")