feat(runtime): implement single-article consolidation runtime and modularize codebase
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Unit tests for ECP classification adapter covering scenarios ECP-001 to ECP-009."""
|
||||
|
||||
from src.runtime.ecp.adapter import ECPClassificationAdapter
|
||||
|
||||
|
||||
def test_ecp_adapter_direct_inherent():
|
||||
adapter = ECPClassificationAdapter()
|
||||
sample_ecp = {
|
||||
"target_entity_id": "Q12345",
|
||||
"target_name": "Club Atlético River Plate",
|
||||
"aliases": ["River Plate", "River"],
|
||||
"domain": "sports",
|
||||
"anchors": ["Monumental", "Buenos Aires"],
|
||||
}
|
||||
content = "# River vs Santa Fe\n\nRiver Plate jugó un gran partido en el estadio Monumental de Buenos Aires."
|
||||
res = adapter.classify(sample_ecp, content)
|
||||
|
||||
assert res["category"] == "DIRECT_INHERENT"
|
||||
assert res["is_inherent"] is True
|
||||
assert res["confidence"] > 0.8
|
||||
assert len(res["evidences"]) > 0
|
||||
|
||||
|
||||
def test_ecp_adapter_not_related():
|
||||
adapter = ECPClassificationAdapter()
|
||||
sample_ecp = {
|
||||
"target_entity_id": "Q12345",
|
||||
"target_name": "Club Atlético River Plate",
|
||||
"aliases": ["River Plate"],
|
||||
"domain": "sports",
|
||||
"anchors": ["Monumental"],
|
||||
}
|
||||
content = "# Gastronomia Francesa\n\nReceita de croissant e baguetes na culinária tradicional de Paris."
|
||||
res = adapter.classify(sample_ecp, content)
|
||||
|
||||
assert res["category"] == "NOT_RELATED"
|
||||
assert res["is_inherent"] is False
|
||||
Reference in New Issue
Block a user