diff --git a/src/power_grid_model_io/converters/base_converter.py b/src/power_grid_model_io/converters/base_converter.py index 62c3517e..f7160e98 100644 --- a/src/power_grid_model_io/converters/base_converter.py +++ b/src/power_grid_model_io/converters/base_converter.py @@ -92,6 +92,20 @@ def load_asym_output_data(self, data: Optional[T] = None) -> Dataset: data = self._load_data(data) return self._parse_data(data=data, data_type="asym_output", extra_info=None) + def load_sc_output_data(self, data: Optional[T] = None) -> Dataset: + """Load sc output data + + Note: You shouldn't have to overwrite this method. Check _parse_data() instead. + + Args: + data: Optional[T]: (Default value = None) + + Returns: + + """ + data = self._load_data(data) + return self._parse_data(data=data, data_type="sc_output", extra_info=None) + def convert(self, data: Dataset, extra_info: Optional[ExtraInfo] = None) -> T: """Convert input/update/(a)sym_output data and optionally extra info. diff --git a/tests/unit/converters/test_base_converter.py b/tests/unit/converters/test_base_converter.py index f77a047e..793028fc 100644 --- a/tests/unit/converters/test_base_converter.py +++ b/tests/unit/converters/test_base_converter.py @@ -117,6 +117,20 @@ def test_load_asym_output_data(converter: DummyConverter): assert data == {"foo": 1} +def test_load_sc_output_data(converter: DummyConverter): + # Arrange + converter._parse_data.return_value = {"foo": 1} # type: ignore + + # Act + data = converter.load_sc_output_data(data={"node": [{"id": 1}, {"id": 2}]}) + + # Assert + converter._parse_data.assert_called_once_with( # type: ignore + data={"node": [{"id": 1}, {"id": 2}]}, data_type="sc_output", extra_info=None + ) + assert data == {"foo": 1} + + def test_convert_data(converter: DummyConverter): # Act converter.convert(data={"foo": np.array([1])}) diff --git a/tests/unit/converters/test_pgm_json_converter.py b/tests/unit/converters/test_pgm_json_converter.py index ba1a62ba..2b52191e 100644 --- a/tests/unit/converters/test_pgm_json_converter.py +++ b/tests/unit/converters/test_pgm_json_converter.py @@ -61,7 +61,7 @@ def pgm_sparse_batch_data(): def test_parse_data(converter: PgmJsonConverter, structured_input_data, structured_batch_data): - with pytest.raises(PowerGridSerializationError, match="Wrong data type for key data in the root level dictionary!"): + with pytest.raises(PowerGridSerializationError, match="Expect a map or array."): converter._parse_data(data="str", data_type="input", extra_info=None) # type: ignore # test for input dataset