import unittest from transcribe.strategy import TranscriptBuffer # 请替换为你的实际模块名 class TestTranscriptBuffer(unittest.TestCase): def setUp(self): self.buffer = TranscriptBuffer() def test_update_pending_text(self): self.buffer.update_pending_text("Hello") self.assertEqual(self.buffer.pending_text, "Hello") def test_commit_line(self): self.buffer.update_pending_text("This is a line.") self.buffer.commit_line() self.assertEqual(self.buffer.paragraph, "This is a line.") self.assertEqual(self.buffer.pending_text, "") def test_commit_paragraph(self): self.buffer.update_pending_text("Sentence 1.") self.buffer.commit_line() self.buffer.update_pending_text("Sentence 2.") self.buffer.commit_line() self.buffer.commit_paragraph(end_of_sentence=True) self.assertEqual(self.buffer.get_seg_id(), 1) self.assertEqual(self.buffer.latest_paragraph, "Sentence 1.Sentence 2.") self.assertEqual(self.buffer.paragraph, "") self.assertEqual(self.buffer.pending_text, "") def test_commit_paragraph_without_end(self): self.buffer.update_pending_text("Incomplete sentence.") self.buffer.commit_line() self.buffer.commit_paragraph(end_of_sentence=False) # 段落不应提交 self.assertEqual(self.buffer.get_seg_id(), 0) self.assertEqual(self.buffer.paragraph, "Incomplete sentence.") def test_update_and_commit_end_sentence(self): self.buffer.update_and_commit("Stable.", "Remaining", is_end_sentence=True) self.assertEqual(self.buffer.latest_paragraph, "Stable.") self.assertEqual(self.buffer.pending_text, "Remaining") self.assertEqual(self.buffer.paragraph, "") def test_update_and_commit_partial_sentence(self): self.buffer.update_and_commit("Partial", "New Buffer", is_end_sentence=False) self.assertEqual(self.buffer.paragraph, "Partial") self.assertEqual(self.buffer.pending_text, "New Buffer") self.assertEqual(self.buffer.get_seg_id(), 0) def test_current_not_commit_text(self): self.buffer.update_and_commit("Part 1.", "Live text", is_end_sentence=False) self.assertEqual(self.buffer.current_not_commit_text, "Part 1.Live text") if __name__ == "__main__": unittest.main()