Added `LakeConfig` to `RiverErosionConfig` to support HydroLAKES integration and manual override settings. Updated config parsing logic to handle the new fields.
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
import unittest
|
|
from geodata_pipeline.config import Config, LakeConfig, RiverErosionConfig
|
|
|
|
class TestConfigLakes(unittest.TestCase):
|
|
def test_default_lake_config(self):
|
|
cfg = Config.default()
|
|
self.assertIsInstance(cfg.river_erosion.lakes, LakeConfig)
|
|
self.assertTrue(cfg.river_erosion.lakes.enabled)
|
|
self.assertEqual(cfg.river_erosion.lakes.default_depth_m, 5.0)
|
|
self.assertEqual(cfg.river_erosion.lakes.match_tolerance_m, 100.0)
|
|
|
|
def test_load_lake_config(self):
|
|
data = {
|
|
"river_erosion": {
|
|
"lakes": {
|
|
"enabled": False,
|
|
"default_depth_m": 10.0,
|
|
"match_tolerance_m": 50.0
|
|
}
|
|
}
|
|
}
|
|
cfg = Config.from_dict(data)
|
|
self.assertFalse(cfg.river_erosion.lakes.enabled)
|
|
self.assertEqual(cfg.river_erosion.lakes.default_depth_m, 10.0)
|
|
self.assertEqual(cfg.river_erosion.lakes.match_tolerance_m, 50.0)
|
|
|
|
def test_raw_config_hydrolakes(self):
|
|
cfg = Config.default()
|
|
self.assertEqual(cfg.raw.hydrolakes_dir, "raw/hydrolakes/HydroLAKES_polys_v10_shp")
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|