Download tests/unit/test_evaluator.py from jayc1978/aegis: direct link, hf CLI and curl.
- Browser
- Download file 2.26 kB
-
https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_evaluator.py
- Command line
-
hf download hf://jayc1978/aegis/tests/unit/test_evaluator.py
-
curl -L -o test_evaluator.py https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_evaluator.py
2.26 kB
| import pytest | |
| from aegis.agents import EvaluatorAgent | |
| from aegis.core import AgentContext, AgentResult, Task | |
| def make_context(result: AgentResult | dict[str, object] | None) -> AgentContext: | |
| inputs: dict[str, object] = {} | |
| if result is not None: | |
| inputs["result"] = result.model_dump() if isinstance(result, AgentResult) else result | |
| return AgentContext( | |
| task=Task( | |
| name="Evaluate result", | |
| description="Evaluate an agent execution result.", | |
| ), | |
| inputs=inputs, | |
| ) | |
| async def test_evaluator_passes_valid_result() -> None: | |
| evaluator = EvaluatorAgent() | |
| context = make_context( | |
| AgentResult( | |
| agent_name="planner", | |
| success=True, | |
| output={"steps": ["analyze", "execute"]}, | |
| ) | |
| ) | |
| result = await evaluator.run(context) | |
| assert result.success is True | |
| assert result.output["passed"] is True | |
| assert result.output["score"] == 100 | |
| assert result.output["issues"] == () | |
| assert result.output["evaluated_agent"] == "planner" | |
| async def test_evaluator_fails_unsuccessful_result() -> None: | |
| evaluator = EvaluatorAgent() | |
| context = make_context( | |
| AgentResult( | |
| agent_name="tool", | |
| success=False, | |
| errors=["Execution failed."], | |
| ) | |
| ) | |
| result = await evaluator.run(context) | |
| assert result.success is True | |
| assert result.output["passed"] is False | |
| assert result.output["score"] == 25 | |
| assert len(result.output["issues"]) == 3 | |
| async def test_evaluator_rejects_missing_result() -> None: | |
| evaluator = EvaluatorAgent() | |
| context = make_context(None) | |
| result = await evaluator.run(context) | |
| assert result.success is False | |
| assert result.errors == ["Missing required input: result"] | |
| async def test_evaluator_rejects_invalid_result() -> None: | |
| evaluator = EvaluatorAgent() | |
| context = make_context( | |
| { | |
| "agent_name": "", | |
| "success": True, | |
| } | |
| ) | |
| result = await evaluator.run(context) | |
| assert result.success is False | |
| assert result.errors | |
| assert result.errors[0].startswith("Invalid agent result:") | |