1111from power_grid_model import initialize_array
1212
1313from power_grid_model_io .converters .pandapower_converter import PandaPowerConverter
14+ from tests .utils import MockDf
1415
1516
1617@pytest .fixture
@@ -286,9 +287,11 @@ def test_output_sgen(converter):
286287 converter .pp_output_data .__setitem__ .assert_called_once_with ("res_sgen" , mock_pp_df .return_value )
287288
288289
289- def test_output_trafos (converter ):
290+ def test_output_trafos__current (converter ):
290291 # Arrange
291292 mock_pgm_array = MagicMock ()
293+ converter .trafo_loading = "current"
294+ converter .pp_input_data ["trafo" ] = MockDf (2 )
292295 converter .pgm_input_data ["transformer" ] = mock_pgm_array
293296 converter .pgm_output_data ["transformer" ] = mock_pgm_array
294297 converter .pgm_nodes_lookup = pd .DataFrame (
@@ -314,9 +317,8 @@ def test_output_trafos(converter):
314317 mock_pgm_array .__getitem__ .assert_any_call ("q_to" )
315318 mock_pgm_array .__getitem__ .assert_any_call ("i_from" )
316319 mock_pgm_array .__getitem__ .assert_any_call ("i_to" )
317- # mock_pgm_array.__getitem__.assert_any_call("u_pu")
318- # mock_pgm_array.__getitem__.assert_any_call("u_degree")
319- mock_pgm_array .__getitem__ .assert_any_call ("loading" )
320+ # current loading retrieval
321+ mock_pgm_array .__getitem__ .assert_any_call ("sn" )
320322
321323 # assignment
322324 mock_pp_df .return_value .__setitem__ .assert_any_call ("p_hv_mw" , ANY )
@@ -337,6 +339,42 @@ def test_output_trafos(converter):
337339 converter .pp_output_data .__setitem__ .assert_called_once_with ("res_trafo" , mock_pp_df .return_value )
338340
339341
342+ def test_output_trafos__power (converter ):
343+ # Arrange
344+ mock_pgm_array = MagicMock ()
345+ converter .trafo_loading = "power"
346+ converter .pp_input_data ["trafo" ] = MockDf (2 )
347+ converter .pgm_input_data ["transformer" ] = mock_pgm_array
348+ converter .pgm_output_data ["transformer" ] = mock_pgm_array
349+ converter .pgm_nodes_lookup = pd .DataFrame (
350+ {"u_pu" : mock_pgm_array , "u_degree" : mock_pgm_array }, index = mock_pgm_array
351+ )
352+
353+ with patch ("power_grid_model_io.converters.pandapower_converter.pd.DataFrame" ) as mock_pp_df :
354+ # Act
355+ converter ._pp_trafos_output ()
356+
357+ mock_pgm_array .__getitem__ .assert_any_call ("loading" )
358+ mock_pp_df .return_value .__setitem__ .assert_any_call ("loading_percent" , ANY )
359+ # result
360+ converter .pp_output_data .__setitem__ .assert_called_once_with ("res_trafo" , mock_pp_df .return_value )
361+
362+
363+ def test_output_trafos__invalid_trafo_loading (converter ):
364+ # Arrange
365+ mock_pgm_array = MagicMock ()
366+ converter .trafo_loading = "abcd"
367+ converter .pp_input_data ["trafo" ] = MockDf (2 )
368+ converter .pgm_input_data ["transformer" ] = mock_pgm_array
369+ converter .pgm_output_data ["transformer" ] = mock_pgm_array
370+ converter .pgm_nodes_lookup = pd .DataFrame (
371+ {"u_pu" : mock_pgm_array , "u_degree" : mock_pgm_array }, index = mock_pgm_array
372+ )
373+
374+ with pytest .raises (ValueError , match = "Invalid transformer loading type: abcd" ):
375+ converter ._pp_trafos_output ()
376+
377+
340378def test_output_trafo3w (converter ):
341379 # Arrange
342380 mock_pgm_array = MagicMock ()
0 commit comments