test_diarization.py (1071B)
1 """Testes da fusão texto + intervalos de falantes.""" 2 3 import unittest 4 5 from lazier.diarization import merge_transcript_with_speakers 6 7 8 class DiarizationMergeTests(unittest.TestCase): 9 def test_merge_groups_consecutive_segments_per_speaker(self): 10 intervals = [ 11 {"start": 0.0, "end": 10.0, "speaker_id": "A"}, 12 {"start": 10.0, "end": 20.0, "speaker_id": "B"}, 13 ] 14 segments = [ 15 {"start": 1.0, "end": 3.0, "text": "Ola"}, 16 {"start": 4.0, "end": 6.0, "text": "mundo"}, 17 {"start": 11.0, "end": 14.0, "text": "Segundo falante"}, 18 ] 19 out = merge_transcript_with_speakers("", segments, intervals) 20 self.assertIn("**Falante 1**", out) 21 self.assertIn("**Falante 2**", out) 22 self.assertIn("Ola mundo", out) 23 self.assertIn("Segundo falante", out) 24 25 def test_merge_without_intervals_returns_raw(self): 26 raw = "Apenas texto." 27 self.assertEqual(merge_transcript_with_speakers(raw, [], []), raw) 28 29 30 if __name__ == "__main__": 31 unittest.main()