| from pathlib import Path | |
| import pytest | |
| from fugu_lite.config import load_worker_pool | |
| from fugu_lite.generate import generate_reward_dataset | |
| from fugu_lite.io import load_rewards, load_tasks | |
| async def test_mock_reward_generation(tmp_path: Path): | |
| root = Path(__file__).parents[1] | |
| tasks = load_tasks(root / "data/tasks.sample.jsonl") | |
| selected = [tasks[0], tasks[6], tasks[12]] | |
| config = load_worker_pool(root / "configs/workers.mock.yaml") | |
| output = tmp_path / "rewards.jsonl" | |
| await generate_reward_dataset(selected, config, output) | |
| records = load_rewards(output) | |
| assert len(records) == 3 | |
| winners = [ | |
| record.worker_ids[max(range(len(record.rewards)), key=record.rewards.__getitem__)] | |
| for record in records | |
| ] | |
| assert winners == ["math_expert", "code_expert", "general_expert"] | |