Files
TextNLPClassifierApp/tests/runtime/unit/test_ecp_adapter.py
T

38 lines
1.3 KiB
Python

"""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