Files
ai-agent-book/chapter9/trajectory-verifier/test_calibration_report_dimension_result.py
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

30 lines
1010 B
Python

import unittest
from calibration import calibration_report
from verifier import DimensionResult
class TestCalibrationReportDimensionResult(unittest.TestCase):
def test_calibration_report_supports_dimension_result_objects(self):
"""Contract: calibration_report handles report dimensions containing DimensionResult objects.
Locks out TypeError when report dimensions are DimensionResult dataclasses instead of dicts.
"""
trajectory = {
"id": "t1",
"expert_labels": {"task_resolution": "pass"},
}
report = {
"trajectory_id": "t1",
"dimensions": [
DimensionResult("task_resolution", "environment_result", "pass", 1.0, ["ok"], 1.0)
],
}
result = calibration_report([trajectory], [report])
self.assertEqual(1.0, result["exact_label_agreement"])
self.assertIn("task_resolution", result["per_dimension"])
if __name__ == "__main__":
unittest.main()