Files
SignageSystem/tests/test_analysis_table_builder.py
T
2026-08-09 21:41:44 +09:00

17 lines
933 B
Python

from src.analysis_table_builder import AnalysisTableBuilder
from src.config_loader import UnifiedLogSettings
from src.models import PersonStateSummary
CFG=UnifiedLogSettings(True,"x",True,True,True,True,30,True,True,True,True,False,False,"camera",True)
def test_prompt_control_disabled_records() -> None:
b=AnalysisTableBuilder(CFG,"sid")
for mode in ("prompt","control",None):
s=PersonStateSummary("exp",1,voice_mode=mode,prompt_played=mode=="prompt",pseudo_prompt=mode=="control",
response_detected=True,reaction_time_sec=.8,turn_confirmed=True,turn_level="weak",
max_yaw_delta_toward_signage=25.,valid_for_turn_analysis=False,exclusion_reason="no_pose_estimated")
r=b.build_record(s)
assert r.prompt_condition==(mode or "disabled") and r.camera_position_note=="camera"
assert r.response_detected and r.reaction_time_sec==.8 and r.valid_for_turn_analysis is False