Files

35 lines
1.2 KiB
Python

"""Unit tests for optional adapter interfaces (Tier 2 / Tier 3)."""
from src.tools.adapters.embeddings import LocalEmbeddingsAdapter
from src.tools.adapters.llm import LLMFallbackAdapter
from src.tools.classifier import InherenceClassifier
from src.tools.models import ECPSnapshot
def test_embeddings_adapter_interface():
adapter = LocalEmbeddingsAdapter()
assert isinstance(adapter.is_available(), bool)
assert adapter.evaluate_similarity("test text", ["term1", "term2"]) == 0.0
def test_llm_adapter_interface():
adapter = LLMFallbackAdapter()
assert isinstance(adapter.is_available(), bool)
def test_classifier_with_adapter_flags():
classifier = InherenceClassifier(enable_embeddings=True, enable_llm=True)
assert classifier._embeddings_adapter is not None
assert classifier._llm_adapter is not None
ecp = ECPSnapshot(
target_entity_id="ent_test",
target_name="TestCorp",
aliases=["TestCorp"],
domain="Tech",
anchors=["software"],
)
res = classifier.classify(ecp, "TestCorp builds enterprise cloud software.")
assert res.decision.value == "DIRECT_INHERENT"
assert res.is_inherent is True