test: add tests for YAML config loading
- test_config.py: covers load_yaml_config (happy path, missing file raises) - Uses project-relative paths so tests run in any environment
This commit is contained in:
parent
e160a55d95
commit
8347d81d70
1 changed files with 38 additions and 0 deletions
38
tests/test_config.py
Normal file
38
tests/test_config.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
"""Tests for YAML config loading."""
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
# Ensure src is on the path when running from the project root
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent / "src"))
|
||||
|
||||
CONFIGS_DIR = Path(__file__).parent.parent / "configs"
|
||||
|
||||
|
||||
class TestYamlConfig:
|
||||
def test_load_yaml_config(self):
|
||||
from experiment_logger.config_utils import load_yaml_config
|
||||
|
||||
config = load_yaml_config(str(CONFIGS_DIR / "default_ppo.yaml"))
|
||||
assert isinstance(config, dict)
|
||||
assert "total_timesteps" in config
|
||||
assert "learning_rate" in config
|
||||
|
||||
def test_load_dev_test_config(self):
|
||||
from experiment_logger.config_utils import load_yaml_config
|
||||
|
||||
config = load_yaml_config(str(CONFIGS_DIR / "dev_test.yaml"))
|
||||
assert config["total_timesteps"] == 100000
|
||||
|
||||
def test_missing_config_raises(self):
|
||||
from experiment_logger.config_utils import load_yaml_config
|
||||
|
||||
with pytest.raises(FileNotFoundError):
|
||||
load_yaml_config("nonexistent.yaml")
|
||||
|
||||
def test_merge_config_with_cli_is_callable(self):
|
||||
from experiment_logger.config_utils import merge_config_with_cli
|
||||
|
||||
assert callable(merge_config_with_cli)
|
||||
Reference in a new issue