Skip to content

Commit 2d6ba93

Browse files
author
Naledi EL CHEIKH
committed
fix scale tests
Signed-off-by: Naledi EL CHEIKH <[email protected]>
1 parent 05c456f commit 2d6ba93

File tree

4 files changed

+10
-9
lines changed

4 files changed

+10
-9
lines changed

cpp/powsybl-cpp/powsybl-cpp.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1715,9 +1715,10 @@ void splitOrMergeTransformers(pypowsybl::JavaHandle network, const std::vector<s
17151715
pypowsybl::PowsyblCaller::get()->callJava(::splitOrMergeTransformers, network, transformerIdsPtr.get(), transformerIds.size(), merge, (reportNode == nullptr) ? nullptr : *reportNode);
17161716
}
17171717

1718-
int scaleProportional(pypowsybl::JavaHandle network, int asked, distribution_mode distributionMode, const std::vector<std::string>& injectionsIds, const int limitMin, const int limitMax, scaling_parameters scalingParameters) {
1718+
int scaleProportional(pypowsybl::JavaHandle network, int asked, distribution_mode distributionMode, const std::vector<std::string>& injectionsIds, const int limitMin, const int limitMax, const ScalingParameters& scalingParameters) {
17191719
ToCharPtrPtr injectionsIdsPtr(injectionsIds);
1720-
return pypowsybl::PowsyblCaller::get()->callJava<int>(::scaleProportional, network, asked, distributionMode, injectionsIdsPtr.get(), injectionsIds.size(), limitMin, limitMax, scalingParameters);
1720+
auto c_scaling_parameters = scalingParameters.to_c_struct();
1721+
return pypowsybl::PowsyblCaller::get()->callJava<int>(::scaleProportional, network, asked, distributionMode, injectionsIdsPtr.get(), injectionsIds.size(), limitMin, limitMax, c_scaling_parameters.get());
17211722
}
17221723

17231724
/*---------------------------------SHORT-CIRCUIT ANALYSIS---------------------------*/

cpp/pypowsybl-cpp/bindings.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1218,7 +1218,7 @@ PYBIND11_MODULE(_pypowsybl, m) {
12181218
m.def("create_network_modification", ::createNetworkModificationBind, "Create and apply network modification", py::arg("network"), py::arg("dataframe"), py::arg("network_modification_type"), py::arg("raise_exception"), py::arg("report_node"));
12191219

12201220
m.def("split_or_merge_transformers", &pypowsybl::splitOrMergeTransformers, "Replace 3-windings transformers with 3 2-windings transformers",
1221-
py::arg("network"), py::arg("transformer_ids"), py::arg("merge"), py::arg(scaling_parameters"report_node"));
1221+
py::arg("network"), py::arg("transformer_ids"), py::arg("merge"), py::arg("scaling_parameters"));
12221222

12231223
m.def("scale_proportional", &pypowsybl::scaleProportional, "Scale the given network proportionally.",
12241224
py::arg("network"), py::arg("asked"), py::arg("distribution_mode"), py::arg("injections_ids"), py::arg("limit_min"), py::arg("limit_max"), py::arg(""));

java/pypowsybl/src/main/java/com/powsybl/python/network/NetworkModificationsCFunctions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,10 +238,10 @@ public static ScalingParameters createScalingParameters() {
238238

239239
public static ScalingParameters convertScalingParameters(PyPowsyblApiHeader.ScalingParametersPointer scalingParametersPtr) {
240240

241+
List<String> injectionsIdsStringList = toStringList(scalingParametersPtr.getIgnoredInjectionIds(), scalingParametersPtr.getIgnoredInjectionIdsCount());
242+
241243
Set<String> ignoredInjectionIds = new HashSet<>();
242-
for (Object injection : ((Collection<?>) scalingParametersPtr.getIgnoredInjectionIds()).toArray()) {
243-
ignoredInjectionIds.add((String) injection);
244-
}
244+
injectionsIdsStringList.forEach(ignoredInjectionIds::add);
245245

246246
return createScalingParameters()
247247
.setScalingConvention(Scalable.ScalingConvention.values()[scalingParametersPtr.getScalingConvention()])

tests/test_network_modification.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1517,10 +1517,10 @@ def test_scale_generator():
15171517
n = pp.network.create_micro_grid_be_network()
15181518
proportional_to_pmax = pp.network.DistributionMode.PROPORTIONAL_TO_PMAX
15191519
proportional_to_target = pp.network.DistributionMode.PROPORTIONAL_TO_TARGETP
1520-
1520+
param = Parameters()
15211521
injections_ids = ['3a3b27be-b18b-4385-b557-6735d733baf0', '550ebe0d-f2b2-48c1-991f-cebea43a21aa']
1522-
pp.network.scale_proportional(n, 10, proportional_to_pmax, injections_ids, 50, 200)
1523-
pp.network.scale_proportional(n, 50, proportional_to_target, injections_ids, 50, 200)
1522+
pp.network.scale_proportional(n, 10, proportional_to_pmax, injections_ids, 50, 200, param)
1523+
pp.network.scale_proportional(n, 50, proportional_to_target, injections_ids, 50, 200, param)
15241524

15251525
def test_scaling_parameters_init():
15261526
scaling_type = Parameters().scaling_type

0 commit comments

Comments
 (0)