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