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