Download tests/test_app.py from suvradeepp/tiny-hinglish-turn-detector: direct link, hf CLI and curl.
- Browser
- Download file 2.79 kB
-
https://huggingface.co/suvradeepp/tiny-hinglish-turn-detector/resolve/main/tests/test_app.py
- Command line
-
hf download hf://suvradeepp/tiny-hinglish-turn-detector/tests/test_app.py
-
curl -L -o test_app.py https://huggingface.co/suvradeepp/tiny-hinglish-turn-detector/resolve/main/tests/test_app.py
2.79 kB
| from __future__ import annotations | |
| import tempfile | |
| import unittest | |
| from pathlib import Path | |
| from types import SimpleNamespace | |
| from unittest.mock import patch | |
| import numpy as np | |
| import app | |
| from turn_detection.runtime import Prediction | |
| class _DevelopmentPredictor: | |
| metadata = SimpleNamespace( | |
| development_only=True, | |
| training_status="preview-only", | |
| data_scope="one audited shard", | |
| threshold=0.73, | |
| ) | |
| def predict(self, audio: object, sample_rate: int) -> Prediction: | |
| del audio, sample_rate | |
| return Prediction( | |
| endpoint_probability=0.8, | |
| inference_ms=1.25, | |
| model_name="partial-preview", | |
| ) | |
| class DemoEvidenceStatusTest(unittest.TestCase): | |
| def test_default_model_supports_space_and_model_repository_layouts(self) -> None: | |
| with tempfile.TemporaryDirectory() as directory: | |
| root = Path(directory) | |
| space_model = root / "artifacts" / "model.onnx" | |
| repository_model = root / "model.onnx" | |
| repository_model.write_bytes(b"onnx") | |
| with patch.object( | |
| app, | |
| "DEFAULT_MODEL_CANDIDATES", | |
| (space_model, repository_model), | |
| ): | |
| self.assertEqual(app._default_model_path(), repository_model) | |
| space_model.parent.mkdir(parents=True) | |
| space_model.write_bytes(b"onnx") | |
| with patch.object( | |
| app, | |
| "DEFAULT_MODEL_CANDIDATES", | |
| (space_model, repository_model), | |
| ): | |
| self.assertEqual(app._default_model_path(), space_model) | |
| space_model.unlink() | |
| repository_model.unlink() | |
| with patch.object( | |
| app, | |
| "DEFAULT_MODEL_CANDIDATES", | |
| (space_model, repository_model), | |
| ): | |
| self.assertEqual(app._default_model_path(), space_model) | |
| def test_development_model_is_conspicuously_labelled(self) -> None: | |
| with patch.object(app, "get_predictor", return_value=_DevelopmentPredictor()): | |
| status, labels, diagnostics, timeline = app.analyze_turn( | |
| (16_000, np.zeros(1_600, dtype=np.float32)), | |
| threshold=0.73, | |
| silence_ms=300, | |
| max_silence_ms=1_800, | |
| ) | |
| self.assertIn("Development model", status) | |
| self.assertIn("one audited shard", status) | |
| self.assertTrue(diagnostics["development_only"]) | |
| self.assertTrue(diagnostics["emit_response"]) | |
| self.assertEqual(diagnostics["training_status"], "preview-only") | |
| self.assertEqual(labels["END"], 0.8) | |
| self.assertIn("threshold 0.73", timeline) | |
| if __name__ == "__main__": | |
| unittest.main() | |