From bc9ae67b1500009016c4286cb115b45ff014b559 Mon Sep 17 00:00:00 2001 From: Mostafa Farrag Date: Fri, 17 Jan 2025 16:19:51 +0100 Subject: [PATCH] add test for initializing the `TimModel` with `filepath` and `quantities_names` --- hydrolib/core/dflowfm/tim/models.py | 11 +++++++++++ tests/dflowfm/test_tim.py | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/hydrolib/core/dflowfm/tim/models.py b/hydrolib/core/dflowfm/tim/models.py index 73ffb11e3..2c2bd20fb 100644 --- a/hydrolib/core/dflowfm/tim/models.py +++ b/hydrolib/core/dflowfm/tim/models.py @@ -114,6 +114,17 @@ class TimModel(ParsableFileModel): quantities_names: Optional[List[str]] = Field(default=None) + def __init__(self, *args, quantities_names: Optional[List[str]] = None, **kwargs): + """ + Custom initializer to handle extra parameters specific to TimModel. + + Args: + quantities_names (Optional[List[str]]): Names for the quantities in the timeseries. + *args, **kwargs: Other arguments for the superclass. + """ + super().__init__(*args, **kwargs) + self.quantities_names = quantities_names + @classmethod def _ext(cls) -> str: return ".tim" diff --git a/tests/dflowfm/test_tim.py b/tests/dflowfm/test_tim.py index 22ca9af8f..6d83adbda 100644 --- a/tests/dflowfm/test_tim.py +++ b/tests/dflowfm/test_tim.py @@ -106,6 +106,12 @@ def test_initialization(self): assert len(model.timeseries) == 0 assert model.as_dataframe().empty + def test_initialize_with_quantities_names(self, input_files_dir: Path): + path = input_files_dir / "tim/single_data_for_timeseries.tim" + model = TimModel(path, quantities_names=["a"]) + assert model.quantities_names == ["a"] + assert len(model.timeseries) == 13 + def test_as_dataframe(self): model = TimModel( timeseries=self.single_data_for_timeseries_floats,