From 16febed792d6db5f6c60b5fcd9688d29ec5b0ff2 Mon Sep 17 00:00:00 2001 From: mbsantiago Date: Thu, 26 Jun 2025 19:21:46 -0600 Subject: [PATCH] Add test that ensures example_config is valid --- src/batdetect2/configs.py | 11 ----------- tests/test_train/test_config.py | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) create mode 100644 tests/test_train/test_config.py diff --git a/src/batdetect2/configs.py b/src/batdetect2/configs.py index e4908bf..857170e 100644 --- a/src/batdetect2/configs.py +++ b/src/batdetect2/configs.py @@ -25,17 +25,6 @@ class BaseConfig(BaseModel): Inherits from Pydantic's `BaseModel` to provide data validation, parsing, and serialization capabilities. - - It sets `extra='forbid'` in its model configuration, meaning that any - fields provided in a configuration file that are *not* explicitly defined - in the specific configuration schema will raise a validation error. This - helps catch typos and ensures configurations strictly adhere to the expected - structure. - - Attributes - ---------- - model_config : ConfigDict - Pydantic model configuration dictionary. Set to forbid extra fields. """ model_config = ConfigDict(extra="ignore") diff --git a/tests/test_train/test_config.py b/tests/test_train/test_config.py new file mode 100644 index 0000000..f8ba2c2 --- /dev/null +++ b/tests/test_train/test_config.py @@ -0,0 +1,10 @@ +from batdetect2.configs import load_config +from batdetect2.train import FullTrainingConfig + + +def test_example_config_is_valid(example_data_dir): + conf = load_config( + example_data_dir / "config.yaml", + schema=FullTrainingConfig, + ) + assert isinstance(conf, FullTrainingConfig)