BladeSzaSza's picture
fix: define REPO_NAME in hf_upload.sh (ensure_blade_space referenced it)
4948993 verified
Raw
History Blame Contribute Delete
1.5 kB
"""Tests for Body3DAgent β€” graceful fallback when model unavailable."""
import numpy as np
from formscout.agents.body3d import Body3DAgent
from formscout.types import Body3DResult, Pose2DResult
def _dummy_pose():
return Pose2DResult(
keypoints=[{0: {"x": 320.0, "y": 240.0, "conf": 0.9}}],
fps=30.0, confidence=0.9,
)
def _dummy_frames(n=5):
return [np.zeros((480, 640, 3), dtype=np.uint8) for _ in range(n)]
class TestBody3DAgent:
def test_disabled_returns_not_used(self):
agent = Body3DAgent(enable_3d=False)
result = agent.run(_dummy_pose(), masks=[], frames=_dummy_frames())
assert isinstance(result, Body3DResult)
assert result.used is False
assert result.joints_3d == []
def test_unavailable_checkpoint_returns_not_used(self):
agent = Body3DAgent(enable_3d=True)
# No checkpoint / sam-3d-body not installed β†’ graceful fallback
result = agent.run(_dummy_pose(), masks=[], frames=_dummy_frames())
assert result.used is False
assert result.confidence == 0.0
def test_no_frames_returns_not_used(self):
agent = Body3DAgent(enable_3d=True)
result = agent.run(_dummy_pose(), masks=[], frames=[])
assert result.used is False
def test_result_type(self):
agent = Body3DAgent(enable_3d=False)
result = agent.run(_dummy_pose(), masks=[])
assert isinstance(result, Body3DResult)