Extract shared build_metric_registry factory (DRY)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
"""Tests for the shared metric registry factory."""
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from ragas.llms.base import InstructorBaseRagasLLM
|
||||
from ragas.embeddings.base import BaseRagasEmbedding
|
||||
|
||||
from rag_eval.metrics.factory import build_metric_registry
|
||||
|
||||
|
||||
def _mock_llm():
|
||||
"""Return a mock that passes RAGAS InstructorLLM type checks."""
|
||||
return MagicMock(spec=InstructorBaseRagasLLM)
|
||||
|
||||
|
||||
def _mock_emb():
|
||||
"""Return a mock that passes RAGAS embedding type checks."""
|
||||
return MagicMock(spec=BaseRagasEmbedding)
|
||||
|
||||
|
||||
def test_build_metric_registry_has_all_seven_metrics():
|
||||
"""The registry exposes every supported metric keyed by its canonical name."""
|
||||
registry = build_metric_registry(llm=_mock_llm(), embeddings=_mock_emb())
|
||||
assert set(registry) == {
|
||||
"faithfulness", "answer_relevancy", "context_recall", "context_precision",
|
||||
"noise_sensitivity", "factual_correctness", "semantic_similarity",
|
||||
}
|
||||
Reference in New Issue
Block a user