From 9b23d718b0d949eb8b85443e79d0f16c091948d9 Mon Sep 17 00:00:00 2001 From: RALAMBOTIANA MIORA Date: Mon, 23 Mar 2020 11:23:06 +0100 Subject: [PATCH] add tests Signed-off-by: RALAMBOTIANA MIORA --- .../ShuntCompensatorAdapterTest.java | 73 ++++++++++++++++++- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/iidm/iidm-mergingview/src/test/java/com/powsybl/iidm/mergingview/ShuntCompensatorAdapterTest.java b/iidm/iidm-mergingview/src/test/java/com/powsybl/iidm/mergingview/ShuntCompensatorAdapterTest.java index e490f06f9fc..83b9ed4d99d 100644 --- a/iidm/iidm-mergingview/src/test/java/com/powsybl/iidm/mergingview/ShuntCompensatorAdapterTest.java +++ b/iidm/iidm-mergingview/src/test/java/com/powsybl/iidm/mergingview/ShuntCompensatorAdapterTest.java @@ -6,10 +6,8 @@ */ package com.powsybl.iidm.mergingview; -import com.powsybl.iidm.network.Network; -import com.powsybl.iidm.network.ShuntCompensator; -import com.powsybl.iidm.network.Terminal; -import com.powsybl.iidm.network.ShuntCompensatorLinearModel; +import com.powsybl.iidm.network.*; +import com.powsybl.iidm.network.test.EurostagTutorialExample1Factory; import com.powsybl.iidm.network.test.HvdcTestNetwork; import org.junit.Before; import org.junit.Test; @@ -84,5 +82,72 @@ public void testSetterGetter() { // Not implemented yet ! TestUtil.notImplemented(shuntCActual::remove); } + + @Test + public void testCreateLinear() { + createNetwork(); + + // Linear shunt + ShuntCompensatorAdder adder = mergingView.getVoltageLevel("VLLOAD") + .newShuntCompensator() + .setId("linear") + .setConnectableBus("NLOAD") + .setCurrentSectionCount(0) + .newLinearModel() + .setbPerSection(1.0) + .setMaximumSectionCount(2) + .add(); + assertTrue(adder instanceof ShuntCompensatorAdderAdapter); + assertTrue(adder.add() instanceof ShuntCompensatorAdapter); + + ShuntCompensator shunt = mergingView.getShuntCompensator("linear"); + assertEquals(0, shunt.getCurrentSectionCount()); + assertEquals(2, shunt.getMaximumSectionCount()); + + ShuntCompensatorLinearModel model = shunt.getModel(ShuntCompensatorLinearModel.class); + assertEquals(1.0, model.getbPerSection(), 0.0); + assertTrue(Double.isNaN(model.getgPerSection())); + } + + @Test + public void testCreateNonLinear() { + createNetwork(); + + // Non linear shunt + ShuntCompensatorAdder adder = mergingView.getVoltageLevel("VLLOAD") + .newShuntCompensator() + .setId("nonLinear") + .setConnectableBus("NLOAD") + .setCurrentSectionCount(0) + .newNonLinearModel() + .beginSection() + .setSectionNum(0) + .setB(1.0) + .endSection() + .beginSection() + .setSectionNum(1) + .setB(2.0) + .endSection() + .add(); + assertTrue(adder instanceof ShuntCompensatorAdderAdapter); + assertTrue(adder.add() instanceof ShuntCompensatorAdapter); + + ShuntCompensator shunt = mergingView.getShuntCompensator("nonLinear"); + assertEquals(0, shunt.getCurrentSectionCount()); + assertEquals(1, shunt.getMaximumSectionCount()); + + ShuntCompensatorNonLinearModel model = shunt.getModel(ShuntCompensatorNonLinearModel.class); + assertEquals(2, model.getSections().size()); + assertEquals(1.0, model.getB(0), 0.0); + assertTrue(Double.isNaN(model.getG(0))); + assertEquals(2.0, model.getB(1), 0.0); + assertTrue(Double.isNaN(model.getG(1))); + } + + private void createNetwork() { + Network network = EurostagTutorialExample1Factory.create(); + network.getLoad("LOAD").remove(); + mergingView.merge(network); + } } //pour les méthodes setComponentNumber de BusExt je peux les remonter dans Bus