stocker-env / tests /test_environment.py
naverdo
init
53503f4
Raw
History Blame
1.07 kB
"""Smoke tests for StockerEnv."""
from app.core.environment import StockerEnv
from app.core.tasks import list_task_ids
def test_env_reset_and_step_each_task():
for task_id in list_task_ids():
env = StockerEnv(task_id=task_id)
reset = env.reset()
assert reset.observation.task_id == task_id
assert reset.observation.step_number == 1
result = env.step({"side": "hold", "quantity": 0})
assert -1.0 <= result.reward <= 1.0
assert result.observation.step_number >= 2 or result.done
def test_env_buy_then_hold_runs_to_completion():
env = StockerEnv(task_id="task_easy")
env.reset()
env.step({"side": "buy", "quantity": 10})
done = False
steps = 0
while not done and steps < 50:
r = env.step({"side": "hold", "quantity": 0})
done = r.done
steps += 1
assert done
def test_invalid_buy_does_not_change_position():
env = StockerEnv(task_id="task_easy")
env.reset()
r = env.step({"side": "buy", "quantity": 10**9})
assert r.info["position"] == 0