Files
DEMO-AGENT/tests/test_regulatory_info_package_field_merge.py

25 lines
1.3 KiB
Python

from review_agent.regulatory_info_package.services.field_merge import merge_fields
def test_merge_fields_marks_missing_llm_only_and_conflict():
merged, summary = merge_fields(
{
"product_name": {"value": "规则产品", "evidence": "说明书", "confidence": 0.8, "label": "产品名称"},
"applicant_name": {"value": "", "evidence": "", "confidence": 0.0, "label": "申请人名称"},
"package_specification": {"value": "24人份/盒", "evidence": "表格", "confidence": 0.7, "label": "包装规格"},
},
{
"intended_use": {"value": "用于检测", "evidence": "LLM", "confidence": 0.6, "label": "预期用途"},
"package_specification": {"value": "48人份/盒", "evidence": "LLM", "confidence": 0.6, "label": "包装规格"},
},
)
assert merged["applicant_name"].value == "/"
assert merged["applicant_name"].highlight_reason == "missing"
assert merged["intended_use"].highlight_reason == "llm_only"
assert merged["package_specification"].value == "24人份/盒"
assert merged["package_specification"].highlight_reason == "conflict"
assert any(item["field_key"] == "applicant_name" for item in summary["missing_fields"])
assert len(summary["llm_only_fields"]) == 1
assert len(summary["conflict_fields"]) == 1