diff --git a/java/src/main/java/com/powsybl/dataframe/loadflow/validation/TwtValidationData.java b/java/src/main/java/com/powsybl/dataframe/loadflow/validation/TwtValidationData.java index 819fde4e9b..b5e2b78208 100644 --- a/java/src/main/java/com/powsybl/dataframe/loadflow/validation/TwtValidationData.java +++ b/java/src/main/java/com/powsybl/dataframe/loadflow/validation/TwtValidationData.java @@ -91,7 +91,7 @@ int getHighTapPosition() { } Optional getRegulatedSide() { - return Optional.of(regulatedSide); + return Optional.ofNullable(regulatedSide); } double getV() { diff --git a/tests/eurostag-example1_test_regulated_side_null.xiidm b/tests/eurostag-example1_test_regulated_side_null.xiidm new file mode 100644 index 0000000000..de3f0cec20 --- /dev/null +++ b/tests/eurostag-example1_test_regulated_side_null.xiidm @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_loadflow.py b/tests/test_loadflow.py index 5e4feaff66..6a098101bb 100644 --- a/tests/test_loadflow.py +++ b/tests/test_loadflow.py @@ -310,3 +310,10 @@ def test_result_status_as_bool(): n = pp.network.create_ieee14() r = pp.loadflow.run_ac(n) assert r[0].status + + +def test_wrong_regulated_bus_id(): + net = pp.network.load('eurostag-example1_test_regulated_side_null.xiidm') + pp.loadflow.run_ac(net) + parameters = lf.ValidationParameters() + validation = pp.loadflow.run_validation(net, validation_parameters=parameters)