diff --git a/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/AbstractDynamicModelXmlTest.java b/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/AbstractDynamicModelXmlTest.java index c92778183..7573e0609 100644 --- a/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/AbstractDynamicModelXmlTest.java +++ b/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/AbstractDynamicModelXmlTest.java @@ -86,6 +86,14 @@ void setupDynawaltzContext() { protected abstract void addDynamicModels(); + protected void addModelIfNotNull(BlackBoxModel... models) { + for (BlackBoxModel model : models) { + if (model != null) { + dynamicModels.add(model); + } + } + } + protected void checkReport(String report) throws IOException { StringWriter sw = new StringWriter(); reportNode.print(sw); diff --git a/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/EmptyPhaseShifterBlockingIXmlTest.java b/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/EmptyPhaseShifterBlockingIXmlTest.java index df633762d..8b66568b6 100644 --- a/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/EmptyPhaseShifterBlockingIXmlTest.java +++ b/dynawaltz/src/test/java/com/powsybl/dynawaltz/xml/EmptyPhaseShifterBlockingIXmlTest.java @@ -27,15 +27,20 @@ protected void setupNetwork() { @Override protected void addDynamicModels() { - dynamicModels.add(PhaseShifterIAutomationSystemBuilder.of(network) + addModelIfNotNull( + PhaseShifterIAutomationSystemBuilder.of(network, reportNode) .dynamicModelId("BBM_PS") .parameterSetId("ps") .transformer("NGEN_NHV1") - .build()); - dynamicModels.add(PhaseShifterBlockingIAutomationSystemBuilder.of(network) + .build(), + PhaseShifterBlockingIAutomationSystemBuilder.of(network, reportNode) .dynamicModelId("BBM_PSB") .parameterSetId("psb") .phaseShifterId("WRONG_ID") + .build(), + PhaseShifterBlockingIAutomationSystemBuilder.of(network, reportNode) + .dynamicModelId("BBM_PSB2") + .parameterSetId("psb") .build()); } @@ -46,6 +51,10 @@ void writeModel() throws SAXException, IOException { validate("dyd.xsd", "empty_phase_shifter_blocking_i_dyd.xml", tmpDir.resolve(DynaWaltzConstants.DYD_FILENAME)); checkReport(""" + Test DYD + Model BBM_PS instantiation successful + Model BBM_PSB instantiation successful + 'phaseShifterId' field is not set + Model BBM_PSB2 cannot be instantiated + Dynawaltz models processing PhaseShifterBlockingI BBM_PSB equipment WRONG_ID is not a PhaseShifterIModel, the automation system will be skipped """);