Skip to content

Commit

Permalink
Merge pull request #193 from PowerGridModel/feature/sc-output-load-fu…
Browse files Browse the repository at this point in the history
…nction

Add sc output function
  • Loading branch information
mgovers authored Nov 13, 2023
2 parents 01f3ba0 + c9c48c3 commit 5b5a687
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 1 deletion.
14 changes: 14 additions & 0 deletions src/power_grid_model_io/converters/base_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
14 changes: 14 additions & 0 deletions tests/unit/converters/test_base_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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])})
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/converters/test_pgm_json_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 5b5a687

Please sign in to comment.