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