"""Unit tests for config.py pure functions.""" import sys from pathlib import Path import pytest sys.path.insert(0, str(Path(__file__).parent.parent / "skills" / "ir_generation_skill")) import config def test_set_input_file(): original = config.INPUT_JSON try: config.set_input_file("/tmp/test_input.json") assert config.INPUT_JSON == "/tmp/test_input.json" finally: config.set_input_file(original) def test_config_constants_exist(): """Verify all expected path constants are defined.""" assert config.BASE_DIR assert config.OUTPUT_DIR assert config.PROMPTS_DIR assert config.TESTS_DIR assert config.DOC_PARSER_OUTPUT assert config.SEMANTIC_INDEX_JSON assert config.IR_FRAGMENTS_JSON assert config.PATH_ENUM_JSON assert config.IR_AUTOCOMPLETE_FRAGMENTS_JSON assert config.IR_FINAL_JSON assert config.IR_AUDIT_REPORT_MD def test_ensemble_temperatures_count(): """Should have exactly 3 ensemble temperatures.""" assert len(config.ENSEMBLE_TEMPERATURES) == 3 def test_max_tokens_is_int(): assert isinstance(config.MAX_TOKENS, int) assert config.MAX_TOKENS > 0 def test_temperature_is_float(): assert isinstance(config.TEMPERATURE, float) assert 0.0 <= config.TEMPERATURE <= 2.0 def test_provider_models_has_expected_keys(): assert "deepseek" in config.PROVIDER_MODELS assert "dashscope" in config.PROVIDER_MODELS def test_model_name_in_provider_models(): assert config.MODEL_NAME in config.PROVIDER_MODELS.values()