from src.config_loader import TurnDetectionSettings from src.models import FrameInfo, TrackEvent from src.turn_detector import TurnDetector from src.turn_track_manager import TurnTrackManager def test_track_finalization_creates_not_evaluable_summary() -> None: config = TurnDetectionSettings(True, "positive", "first_valid", .8, 3, 10, 20, 35, 50, .2, .3, .3, 5, .2, .2, True, .3, True) detector = TurnDetector(config) detector.register_tracks([7]) manager = TurnTrackManager(detector) info = FrameInfo(10, "now", 1.0, 100, 100, 20) track_event = TrackEvent("track_finalized", 7, 10, "now", 1.0, 0, 0) states, events = manager.finalize_from_track_events([track_event], info) assert states[0].turn_level == "not_evaluable" assert states[0].exclusion_reason == "no_face_detected" assert events[0].event_type == "turn_track_finalized"