Spaces:
Sleeping
Sleeping
File size: 1,194 Bytes
a88d0ef | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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)
|