moss / MOSS-Transcribe-Diarize /tests /test_progress_streamer.py
czyhust's picture
Initial upload
969573c verified
Raw
History Blame Contribute Delete
1.02 kB
import unittest
import torch
from moss_transcribe_diarize.app.model_runner import generation_progress
from moss_transcribe_diarize.inference_utils import ProgressStreamer
class ProgressStreamerTest(unittest.TestCase):
def test_counts_generated_tokens_after_prompt_prefill(self):
counts = []
streamer = ProgressStreamer(counts.append)
streamer.put(torch.tensor([[1, 2, 3]]))
streamer.put(torch.tensor([4]))
streamer.put(torch.tensor([[5, 6]]))
streamer.end()
self.assertEqual(counts, [1, 3])
self.assertEqual(streamer.generated_tokens, 3)
def test_generation_progress_mapping(self):
self.assertEqual(generation_progress(0, 100), 0.25)
self.assertAlmostEqual(generation_progress(50, 100), 0.55)
self.assertEqual(generation_progress(100, 100), 0.85)
self.assertEqual(generation_progress(150, 100), 0.85)
self.assertEqual(generation_progress(10, None), 0.25)
if __name__ == "__main__":
unittest.main()