#!/usr/bin/env python3 """verify_summary.py — Assert csv_summary.py output matches expected values.""" import sys import json def _check(cond, msg): """A failure path `-O` cannot compile away (Q63: assert-only files exit 0 under -O).""" if not cond: raise RuntimeError(msg) 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) _check(data["rows"] == expected_rows, f"rows: {data['rows']}") _check(data["columns"] == expected_columns, f"columns: {data['columns']}") age = data["numeric"]["age"] for k, v in expected_age.items(): _check(age[k] == v, f"age.{k}: {age[k]} != {v}") sal = data["numeric"]["salary"] for k, v in expected_salary.items(): _check(sal[k] == v, f"salary.{k}: {sal[k]} != {v}") print("VERIFIED")