|
2 | 2 | # |
3 | 3 | # SPDX-License-Identifier: MPL-2.0 |
4 | 4 |
|
5 | | -from typing import Callable, List |
| 5 | +from typing import Any, Callable, Dict, List |
6 | 6 | from unittest.mock import ANY, MagicMock, call, patch |
7 | 7 |
|
8 | 8 | import numpy as np |
@@ -74,70 +74,48 @@ def test_create_output_data_3ph(): |
74 | 74 |
|
75 | 75 |
|
76 | 76 | @pytest.mark.parametrize( |
77 | | - ("create_fn", "table"), |
| 77 | + ("create_fn", "table", "create_fn_kwargs"), |
78 | 78 | [ |
79 | | - (PandaPowerConverter._pp_buses_output, "node"), |
80 | | - (PandaPowerConverter._pp_lines_output, "line"), |
81 | | - (PandaPowerConverter._pp_ext_grids_output, "source"), |
82 | | - (PandaPowerConverter._pp_shunts_output, "shunt"), |
83 | | - (PandaPowerConverter._pp_sgens_output, "sym_gen"), |
84 | | - (PandaPowerConverter._pp_trafos_output, "transformer"), |
85 | | - (PandaPowerConverter._pp_trafos3w_output, "three_winding_transformer"), |
86 | | - (PandaPowerConverter._pp_asym_loads_output, "asym_load"), |
87 | | - (PandaPowerConverter._pp_asym_gens_output, "asym_gen"), |
88 | | - (PandaPowerConverter._pp_switches_output, "link"), |
89 | | - (PandaPowerConverter._pp_buses_output_3ph, "node"), |
90 | | - (PandaPowerConverter._pp_lines_output_3ph, "line"), |
91 | | - (PandaPowerConverter._pp_ext_grids_output_3ph, "source"), |
92 | | - (PandaPowerConverter._pp_sgens_output_3ph, "sym_gen"), |
93 | | - (PandaPowerConverter._pp_trafos_output_3ph, "transformer"), |
94 | | - (PandaPowerConverter._pp_asym_loads_output_3ph, "asym_load"), |
95 | | - (PandaPowerConverter._pp_asym_gens_output_3ph, "asym_gen"), |
| 79 | + (PandaPowerConverter._pp_buses_output, "node", {}), |
| 80 | + (PandaPowerConverter._pp_lines_output, "line", {}), |
| 81 | + (PandaPowerConverter._pp_ext_grids_output, "source", {}), |
| 82 | + (PandaPowerConverter._pp_shunts_output, "shunt", {}), |
| 83 | + (PandaPowerConverter._pp_sgens_output, "sym_gen", {}), |
| 84 | + (PandaPowerConverter._pp_trafos_output, "transformer", {}), |
| 85 | + (PandaPowerConverter._pp_trafos3w_output, "three_winding_transformer", {}), |
| 86 | + (PandaPowerConverter._pp_load_elements_output, "load", {"symmetric": True, "element": "sym_load"}), |
| 87 | + (PandaPowerConverter._pp_load_elements_output, "ward", {"symmetric": True, "element": "ward"}), |
| 88 | + (PandaPowerConverter._pp_load_elements_output, "motor", {"symmetric": True, "element": "motor"}), |
| 89 | + (PandaPowerConverter._pp_asym_loads_output, "asym_load", {}), |
| 90 | + (PandaPowerConverter._pp_asym_gens_output, "asym_gen", {}), |
| 91 | + (PandaPowerConverter._pp_switches_output, "link", {}), |
| 92 | + (PandaPowerConverter._pp_buses_output_3ph, "node", {}), |
| 93 | + (PandaPowerConverter._pp_lines_output_3ph, "line", {}), |
| 94 | + (PandaPowerConverter._pp_ext_grids_output_3ph, "source", {}), |
| 95 | + (PandaPowerConverter._pp_sgens_output_3ph, "sym_gen", {}), |
| 96 | + (PandaPowerConverter._pp_trafos_output_3ph, "transformer", {}), |
| 97 | + (PandaPowerConverter._pp_load_elements_output, "load", {"symmetric": False, "element": "sym_load"}), |
| 98 | + (PandaPowerConverter._pp_load_elements_output, "ward", {"symmetric": False, "element": "ward"}), |
| 99 | + (PandaPowerConverter._pp_load_elements_output, "motor", {"symmetric": False, "element": "motor"}), |
| 100 | + (PandaPowerConverter._pp_asym_loads_output_3ph, "asym_load", {}), |
| 101 | + (PandaPowerConverter._pp_asym_gens_output_3ph, "asym_gen", {}), |
96 | 102 | ], |
97 | 103 | ) |
98 | | -def test_create_pp_output_object__empty(create_fn: Callable[[PandaPowerConverter], None], table: str): |
| 104 | +def test_create_pp_output_object__empty(create_fn: Callable[..., None], table: str, create_fn_kwargs: Dict[str, Any]): |
99 | 105 | # Arrange: No table |
100 | 106 | converter = PandaPowerConverter() |
101 | 107 |
|
102 | 108 | # Act / Assert |
103 | 109 | with patch("power_grid_model_io.converters.pandapower_converter.pd.DataFrame") as mock_df: |
104 | | - create_fn(converter) |
| 110 | + create_fn(converter, **create_fn_kwargs) |
105 | 111 | mock_df.assert_not_called() |
106 | 112 |
|
107 | 113 | # Arrange: Empty table |
108 | 114 | converter.pgm_output_data[table] = np.array([]) # type: ignore |
109 | 115 |
|
110 | 116 | # Act / Assert |
111 | 117 | with patch("power_grid_model_io.converters.pandapower_converter.pd.DataFrame") as mock_df: |
112 | | - create_fn(converter) |
113 | | - mock_df.assert_not_called() |
114 | | - |
115 | | - |
116 | | -@pytest.mark.parametrize( |
117 | | - ("create_fn", "element", "symmetric", "table"), |
118 | | - [ |
119 | | - (PandaPowerConverter._pp_load_elements_output, "load", True, "sym_load"), |
120 | | - (PandaPowerConverter._pp_load_elements_output, "ward", True, "ward"), |
121 | | - (PandaPowerConverter._pp_load_elements_output, "motor", True, "motor"), |
122 | | - ], |
123 | | -) |
124 | | -def test_create_pp_output_object_with_params__empty( |
125 | | - create_fn: Callable[[PandaPowerConverter, str, bool], None], element: str, symmetric: bool, table: str |
126 | | -): |
127 | | - # Arrange: No table |
128 | | - converter = PandaPowerConverter() |
129 | | - |
130 | | - # Act / Assert |
131 | | - with patch("power_grid_model_io.converters.pandapower_converter.pd.DataFrame") as mock_df: |
132 | | - create_fn(converter, element, symmetric) |
133 | | - mock_df.assert_not_called() |
134 | | - |
135 | | - # Arrange: Empty table |
136 | | - converter.pgm_output_data[table] = np.array([]) # type: ignore |
137 | | - |
138 | | - # Act / Assert |
139 | | - with patch("power_grid_model_io.converters.pandapower_converter.pd.DataFrame") as mock_df: |
140 | | - create_fn(converter, element, symmetric) |
| 118 | + create_fn(converter, **create_fn_kwargs) |
141 | 119 | mock_df.assert_not_called() |
142 | 120 |
|
143 | 121 |
|
|
0 commit comments