mirror of
https://github.com/zenlm/zen-translator.git
synced 2026-10-30 14:57:35 +00:00
79 lines
2.5 KiB
Python
79 lines
2.5 KiB
Python
"""Tests for configuration module."""
|
|
|
|
|
|
class TestTranslatorConfig:
|
|
"""Tests for TranslatorConfig."""
|
|
|
|
def test_default_config(self):
|
|
"""Test default configuration values."""
|
|
from zen_translator.config import TranslatorConfig
|
|
|
|
config = TranslatorConfig()
|
|
|
|
assert config.target_language == "en"
|
|
assert config.device == "cuda"
|
|
assert config.dtype == "bfloat16"
|
|
assert config.enable_lip_sync is True
|
|
assert config.voice_reference_seconds == 3.0
|
|
|
|
def test_config_from_env(self, monkeypatch):
|
|
"""Test configuration from environment variables."""
|
|
from zen_translator.config import TranslatorConfig
|
|
|
|
monkeypatch.setenv("ZEN_TRANSLATOR_TARGET_LANGUAGE", "es")
|
|
monkeypatch.setenv("ZEN_TRANSLATOR_DEVICE", "cpu")
|
|
|
|
config = TranslatorConfig()
|
|
|
|
assert config.target_language == "es"
|
|
assert config.device == "cpu"
|
|
|
|
def test_supported_languages(self):
|
|
"""Test supported language lists."""
|
|
from zen_translator.config import TranslatorConfig
|
|
|
|
config = TranslatorConfig()
|
|
|
|
# Check input languages
|
|
assert "en" in config.supported_input_languages
|
|
assert "zh" in config.supported_input_languages
|
|
assert "ja" in config.supported_input_languages
|
|
assert "yue" in config.supported_input_languages # Cantonese
|
|
|
|
# Check output languages
|
|
assert "en" in config.supported_output_languages
|
|
assert "zh" in config.supported_output_languages
|
|
assert len(config.supported_output_languages) == 10
|
|
|
|
def test_lip_sync_quality_options(self):
|
|
"""Test lip sync quality options."""
|
|
from zen_translator.config import TranslatorConfig
|
|
|
|
for quality in ["fast", "balanced", "quality"]:
|
|
config = TranslatorConfig(lip_sync_quality=quality)
|
|
assert config.lip_sync_quality == quality
|
|
|
|
|
|
class TestNewsAnchorConfig:
|
|
"""Tests for NewsAnchorConfig."""
|
|
|
|
def test_default_config(self):
|
|
"""Test default news anchor config."""
|
|
from zen_translator.config import NewsAnchorConfig
|
|
|
|
config = NewsAnchorConfig()
|
|
|
|
assert config.min_clip_duration == 5.0
|
|
assert config.max_clip_duration == 30.0
|
|
assert len(config.target_anchors) > 0
|
|
|
|
def test_training_settings(self):
|
|
"""Test training hyperparameters."""
|
|
from zen_translator.config import NewsAnchorConfig
|
|
|
|
config = NewsAnchorConfig()
|
|
|
|
assert config.batch_size == 4
|
|
assert config.learning_rate == 2e-5
|
|
assert config.num_epochs == 3
|