|
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() |
|
|