import unittest from summarize import percentile, summarize class SummaryTests(unittest.TestCase): def test_nearest_rank_and_unsorted_input(self): self.assertEqual(percentile(list(range(20, 0, -1)), 0.95), 19) self.assertEqual(percentile([3, 1, 2], 0.5), 2) def test_reject_invalid_samples(self): for values in ([], [-1], [float("nan")], [float("inf")]): with self.assertRaises(ValueError): percentile(values, 0.95) def test_paired_overhead_retains_negative_noise(self): sample = lambda ms: {"wall_ms": ms, "metrics": {"total_ms": ms / 2}} report = {"kind": "synthetic_lexical_index_only", "cases": [{ "case": "exact", "basic": [sample(4), sample(6)], "debug": [sample(3), sample(5)], }]} result = summarize(report) self.assertIsNone(result["production_gate_pass"]) self.assertEqual(result["cases"][0]["mean_paired_debug_minus_basic_ms"], -1) report["cases"][0]["debug"].pop() with self.assertRaises(ValueError): summarize(report) if __name__ == "__main__": unittest.main()