File size: 2,393 Bytes
5acd018 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
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()
|