Audit malformed Ego4D voice segments
This commit is contained in:
@@ -129,10 +129,24 @@ class Ego4DAVCandidateTests(unittest.TestCase):
|
||||
def test_large_terminal_endpoint_overrun_is_rejected(self) -> None:
|
||||
clip = fixture_clip()
|
||||
clip["clip_end_sec"] = 11.95
|
||||
clip["camera_wearer"]["voice_segments"].append(segment("wearer", 11.8, 12.2))
|
||||
clip["camera_wearer"]["voice_segments"].append(segment("wearer", 11.8, 13.2))
|
||||
with self.assertRaisesRegex(ValueError, "exceeds the audited limit"):
|
||||
derive_clip_candidates(clip, split="val", config=CandidateConfig())
|
||||
|
||||
def test_zero_duration_voice_segment_is_ignored_with_explicit_audit(self) -> None:
|
||||
clip = fixture_clip()
|
||||
clip["persons"][1]["voice_segments"].append(segment("p2", 9.0, 9.0))
|
||||
audit: dict[str, object] = {}
|
||||
rows, timeline = derive_clip_candidates(
|
||||
clip, split="val", config=CandidateConfig(), audit_out=audit
|
||||
)
|
||||
self.assertEqual(audit["zero_duration_voice_segment_count"], 1)
|
||||
self.assertFalse(any(row["start_seconds"] == 9.0 for row in timeline))
|
||||
self.assertTrue(all(
|
||||
row["temporal_evidence"]["zero_duration_voice_segment_count"] == 1
|
||||
for row in rows
|
||||
))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user