tutor-progress-env / tests /test_env.py
sanjeevafk's picture
feat: Enhance TutorProgressEnv with session management and improved policies
1860cb2
Raw
History Blame Contribute Delete
1.08 kB
import json
import pytest
from env import TutorEnv
from schemas import Action
def _tasks():
tasks = []
for f in ["tasks/easy.json", "tasks/medium.json", "tasks/hard.json"]:
with open(f) as fh:
tasks.extend(json.load(fh))
return tasks
def test_step_before_reset_raises():
env = TutorEnv(_tasks())
with pytest.raises(ValueError):
env.step(Action(type="final_answer", content="Summary: x"))
def test_done_guard_blocks_extra_step():
tasks = _tasks()
env = TutorEnv(tasks)
env.reset(tasks[0])
env.step(Action(type="final_answer", content="Summary: x\nDiagnosis: y\nPlan: z\nConstraints: none"))
with pytest.raises(ValueError):
env.step(Action(type="final_answer", content="again"))
def test_reset_with_seed_is_reproducible_for_stochastic_mode():
task = _tasks()[0]
env_a = TutorEnv(_tasks())
env_b = TutorEnv(_tasks())
obs_a = env_a.reset(task, seed=123, stochastic=True)
obs_b = env_b.reset(task, seed=123, stochastic=True)
assert obs_a.chat_history == obs_b.chat_history