| import unittest | |
| import torch | |
| from speech_bridge_gemma.longcat_semantic_stride_eval import compact_semantic, expand_semantic, stride_semantic | |
| class LongCatSemanticStrideEvalTest(unittest.TestCase): | |
| def test_compact_first_keeps_first_code_per_chunk(self) -> None: | |
| out = compact_semantic(torch.tensor([1, 2, 3, 4, 5]), 2, "first") | |
| self.assertEqual(out.tolist(), [1, 3, 5]) | |
| def test_compact_center_keeps_center_code_per_chunk(self) -> None: | |
| out = compact_semantic(torch.tensor([1, 2, 3, 4, 5]), 2, "center") | |
| self.assertEqual(out.tolist(), [2, 4, 5]) | |
| def test_compact_mode_keeps_most_common_code_per_chunk(self) -> None: | |
| out = compact_semantic(torch.tensor([1, 2, 2, 4, 5]), 3, "mode") | |
| self.assertEqual(out.tolist(), [2, 4]) | |
| def test_expand_repeats_and_truncates_to_frame_count(self) -> None: | |
| out = expand_semantic(torch.tensor([7, 8, 9]), 5, 2) | |
| self.assertEqual(out.tolist(), [7, 7, 8, 8, 9]) | |
| def test_stride_semantic_returns_compact_and_expanded(self) -> None: | |
| compact, expanded = stride_semantic(torch.tensor([1, 2, 3, 4]), 4, 2, "first") | |
| self.assertEqual(compact.tolist(), [1, 3]) | |
| self.assertEqual(expanded.tolist(), [1, 1, 3, 3]) | |
| if __name__ == "__main__": | |
| unittest.main() | |