Eshit's picture
Deploy to HF Space
363abf3
import os
import tempfile
from env import WildfireEnv
from env.models import Action, ActionType
from env.rendering import render_frame, render_episode_gif
from agents.random_agent import RandomAgent
def test_render_frame_produces_rgb(fresh_env):
fresh_env.reset(task_id="easy", seed=42)
state = fresh_env.state()
frame = render_frame(state, step=0)
assert frame.ndim == 3
assert frame.shape[2] == 3
assert frame.dtype.name == "uint8"
assert frame.shape[0] > 0 and frame.shape[1] > 0
def test_gif_creation(fresh_env):
agent = RandomAgent()
obs = fresh_env.reset(task_id="easy", seed=42)
frames = [render_frame(fresh_env.state(), step=0)]
for i in range(1, 21):
action = agent.act(obs)
result = fresh_env.step(action)
obs = result.observation
frames.append(render_frame(fresh_env.state(), step=i))
if result.done:
break
with tempfile.NamedTemporaryFile(suffix=".gif", delete=False) as f:
path = f.name
try:
render_episode_gif(frames, path)
assert os.path.exists(path)
assert os.path.getsize(path) > 10_000, "GIF too small — likely empty"
finally:
os.unlink(path)