refactor: move optimize test files into tests/learning/

Move 12 optimize-related test files from tests/ root into tests/learning/
to match the module reorganization. All 305 tests pass from new locations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jon Saad-Falcon
2026-03-06 23:27:19 +00:00
co-authored by Claude Opus 4.6
parent 9d4e935af8
commit 1aae88ccde
14 changed files with 202 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
"""Tests for DeepPlanning benchmark."""
from unittest.mock import MagicMock
from openjarvis.evals.core.types import EvalRecord
from openjarvis.evals.datasets.deepplanning import DeepPlanningDataset
from openjarvis.evals.scorers.deepplanning_scorer import DeepPlanningScorer
def _mock_backend() -> MagicMock:
backend = MagicMock()
backend.generate.return_value = "CORRECT"
return backend
class TestDeepPlanningDataset:
def test_instantiation(self) -> None:
ds = DeepPlanningDataset()
assert ds.dataset_id == "deepplanning"
assert ds.dataset_name == "DeepPlanning"
def test_has_required_methods(self) -> None:
ds = DeepPlanningDataset()
assert hasattr(ds, "load")
assert hasattr(ds, "iter_records")
assert hasattr(ds, "size")
class TestDeepPlanningScorer:
def test_instantiation(self) -> None:
s = DeepPlanningScorer(_mock_backend(), "test-model")
assert s.scorer_id == "deepplanning"
def test_correct_plan(self) -> None:
s = DeepPlanningScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="dp-1",
problem="## Task (travel)\nPlan a trip to Paris",
reference="Day 1: Flight to Paris...",
category="agentic",
subject="travel",
metadata={"task_type": "travel"},
)
is_correct, meta = s.score(record, "Day 1: Fly to Paris, visit Eiffel Tower")
assert is_correct is True
assert meta["match_type"] == "llm_judge"
def test_incorrect_plan(self) -> None:
backend = MagicMock()
backend.generate.return_value = "INCORRECT - Missing budget constraint"
s = DeepPlanningScorer(backend, "test-model")
record = EvalRecord(
record_id="dp-2",
problem="## Task (shopping)\nBuild a cart",
reference="Cart: item A, item B, total $50",
category="agentic",
subject="shopping",
metadata={"task_type": "shopping"},
)
is_correct, meta = s.score(record, "Cart: item C, total $100")
assert is_correct is False
def test_empty_response(self) -> None:
s = DeepPlanningScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="dp-3", problem="task",
reference="answer", category="agentic",
)
is_correct, meta = s.score(record, "")
assert is_correct is False
assert meta["reason"] == "empty_response"
class TestDeepPlanningCLI:
def test_in_benchmarks(self) -> None:
from openjarvis.evals.cli import BENCHMARKS
assert "deepplanning" in BENCHMARKS
def test_build_dataset(self) -> None:
from openjarvis.evals.cli import _build_dataset
ds = _build_dataset("deepplanning")
assert ds.dataset_id == "deepplanning"
def test_build_scorer(self) -> None:
from openjarvis.evals.cli import _build_scorer
s = _build_scorer("deepplanning", _mock_backend(), "test-model")
assert s.scorer_id == "deepplanning"
+115
View File
@@ -0,0 +1,115 @@
"""Tests for PaperArena benchmark."""
from unittest.mock import MagicMock
from openjarvis.evals.core.types import EvalRecord
from openjarvis.evals.datasets.paperarena import PaperArenaDataset
from openjarvis.evals.scorers.paperarena_judge import PaperArenaScorer
def _mock_backend() -> MagicMock:
backend = MagicMock()
backend.generate.return_value = "CORRECT"
return backend
class TestPaperArenaDataset:
def test_instantiation(self) -> None:
ds = PaperArenaDataset()
assert ds.dataset_id == "paperarena"
assert ds.dataset_name == "PaperArena"
def test_has_required_methods(self) -> None:
ds = PaperArenaDataset()
assert hasattr(ds, "load")
assert hasattr(ds, "iter_records")
assert hasattr(ds, "size")
class TestPaperArenaScorer:
def test_instantiation(self) -> None:
s = PaperArenaScorer(_mock_backend(), "test-model")
assert s.scorer_id == "paperarena"
def test_mc_correct(self) -> None:
s = PaperArenaScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="pa-1",
problem="## Question\nWhat is X?\nOptions:\n A) foo\n B) bar",
reference="A",
category="agentic",
subject="easy_mc",
metadata={"question_type": "MC"},
)
is_correct, meta = s.score(record, "The answer is A")
assert is_correct is True
assert meta["match_type"] == "exact_letter"
def test_mc_wrong(self) -> None:
s = PaperArenaScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="pa-2",
problem="Question",
reference="B",
category="agentic",
subject="medium_mc",
metadata={"question_type": "MC"},
)
is_correct, meta = s.score(record, "The answer is C")
assert is_correct is False
assert meta["candidate_letter"] == "C"
def test_open_answer_judge(self) -> None:
s = PaperArenaScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="pa-3",
problem="## Question\nExplain X",
reference="X is a method for...",
category="agentic",
subject="hard_oa",
metadata={"question_type": "OA"},
)
is_correct, meta = s.score(record, "X is a technique used to...")
assert is_correct is True
assert meta["match_type"] == "llm_judge"
def test_closed_answer_judge(self) -> None:
backend = MagicMock()
backend.generate.return_value = "INCORRECT"
s = PaperArenaScorer(backend, "test-model")
record = EvalRecord(
record_id="pa-4",
problem="## Question\nWhat is the value?",
reference="42.5",
category="agentic",
subject="medium_ca",
metadata={"question_type": "CA"},
)
is_correct, meta = s.score(record, "The value is 100")
assert is_correct is False
def test_empty_response(self) -> None:
s = PaperArenaScorer(_mock_backend(), "test-model")
record = EvalRecord(
record_id="pa-5", problem="q",
reference="a", category="agentic",
)
is_correct, meta = s.score(record, "")
assert is_correct is False
assert meta["reason"] == "empty_response"
class TestPaperArenaCLI:
def test_in_benchmarks(self) -> None:
from openjarvis.evals.cli import BENCHMARKS
assert "paperarena" in BENCHMARKS
def test_build_dataset(self) -> None:
from openjarvis.evals.cli import _build_dataset
ds = _build_dataset("paperarena")
assert ds.dataset_id == "paperarena"
def test_build_scorer(self) -> None:
from openjarvis.evals.cli import _build_scorer
s = _build_scorer("paperarena", _mock_backend(), "test-model")
assert s.scorer_id == "paperarena"