test(regulatory-info-package): 覆盖材料包主链路
This commit is contained in:
24
tests/test_regulatory_info_package_field_merge.py
Normal file
24
tests/test_regulatory_info_package_field_merge.py
Normal file
@@ -0,0 +1,24 @@
|
||||
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
|
||||
Reference in New Issue
Block a user