Spaces:
Sleeping
Sleeping
| import numpy as np | |
| import torch | |
| from unittest.mock import MagicMock | |
| def make_mock_encoder(): | |
| from app.services.mert_encoder import MERTEncoder | |
| mock_processor = MagicMock() | |
| mock_processor.return_value = {"input_values": torch.zeros(1, 22050 * 10)} | |
| mock_processor.sampling_rate = 24000 | |
| fake_hidden = torch.randn(1, 200, 768) | |
| mock_output = MagicMock() | |
| mock_output.last_hidden_state = fake_hidden | |
| mock_model = MagicMock() | |
| mock_model.return_value = mock_output | |
| mock_model.eval = MagicMock(return_value=mock_model) | |
| return MERTEncoder(model=mock_model, processor=mock_processor) | |
| def test_encode_shape(): | |
| enc = make_mock_encoder() | |
| assert enc.encode(np.random.randn(22050 * 10).astype(np.float32), sr=22050).shape == (768,) | |
| def test_encode_is_finite(): | |
| enc = make_mock_encoder() | |
| assert np.isfinite(enc.encode(np.random.randn(22050 * 10).astype(np.float32), sr=22050)).all() | |
| def test_encode_batch_shape(): | |
| enc = make_mock_encoder() | |
| sr = 22050 | |
| chunks = [{"y": np.random.randn(sr * 10).astype(np.float32), "start": i * 5.0, "end": i * 5.0 + 10.0} for i in range(3)] | |
| assert enc.encode_batch(chunks, sr=sr).shape == (3, 768) | |