BusTopologyTest.java
/**
* Copyright (c) 2019-2020, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* SPDX-License-Identifier: MPL-2.0
*/
package com.powsybl.sld.cgmes.layout;
import com.powsybl.iidm.network.*;
import com.powsybl.sld.builders.NetworkGraphBuilder;
import com.powsybl.sld.cgmes.dl.iidm.extensions.*;
import com.powsybl.sld.layout.LayoutParameters;
import com.powsybl.sld.model.coordinate.Orientation;
import com.powsybl.sld.model.graphs.SubstationGraph;
import com.powsybl.sld.model.graphs.VoltageLevelGraph;
import com.powsybl.sld.model.nodes.BusNode;
import com.powsybl.sld.model.nodes.Node;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import static com.powsybl.sld.library.ComponentTypeName.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
*
* @author Massimo Ferraro {@literal <massimo.ferraro@techrain.eu>}
*/
class BusTopologyTest extends AbstractCgmesVoltageLevelLayoutTest {
private VoltageLevel voltageLevel;
private Substation substation;
private VoltageLevel voltageLevel2;
Network network;
private VoltageLevel voltageLevel21;
private VoltageLevel voltageLevel22;
private VoltageLevel voltageLevel23;
private Substation substation2;
Network networkWith3WT;
@BeforeEach
public void setUp() {
createNetwork();
createNetworkWith3WT();
}
private void createNetwork() {
network = Network.create("test", "test");
substation = network.newSubstation()
.setId("Substation")
.setCountry(Country.FR)
.add();
voltageLevel = createFirstVoltageLevel(substation);
voltageLevel2 = createSecondVoltageLevel(substation);
createTransformer(substation);
addFirstVoltageLevelDiagramData(network, voltageLevel);
addSecondVoltageLevelDiagramData(network, voltageLevel2);
addTransformerDiagramData(network);
NetworkDiagramData.addDiagramName(network, DIAGRAM_NAME, "Substation");
}
private void createNetworkWith3WT() {
networkWith3WT = Network.create("test", "test");
substation2 = networkWith3WT.newSubstation()
.setId("Substation")
.setCountry(Country.FR)
.add();
voltageLevel21 = createFirstVoltageLevel(substation2);
voltageLevel22 = createSecondVoltageLevel(substation2);
voltageLevel23 = createThirdVoltageLevel(substation2);
create3WTransformer(substation2);
addFirstVoltageLevelDiagramData(networkWith3WT, voltageLevel21);
addSecondVoltageLevelDiagramData(networkWith3WT, voltageLevel22);
addThirdVoltageLevelDiagramData(networkWith3WT, voltageLevel23);
add3WTransformerDiagramData(networkWith3WT);
NetworkDiagramData.addDiagramName(networkWith3WT, DIAGRAM_NAME, "Substation");
}
private VoltageLevel createFirstVoltageLevel(Substation substation) {
VoltageLevel voltageLevel1 = substation.newVoltageLevel()
.setId("VoltageLevel1")
.setNominalV(400)
.setTopologyKind(TopologyKind.BUS_BREAKER)
.add();
voltageLevel1.getBusBreakerView().newBus()
.setId("Bus1")
.add();
voltageLevel1.newLoad()
.setId("Load")
.setBus("Bus1")
.setConnectableBus("Bus1")
.setP0(100)
.setQ0(50)
.add();
voltageLevel1.newShuntCompensator()
.setId("Shunt")
.setBus("Bus1")
.setConnectableBus("Bus1")
.setSectionCount(1)
.newLinearModel()
.setBPerSection(1e-5)
.setMaximumSectionCount(1)
.add()
.add();
voltageLevel1.newDanglingLine()
.setId("DanglingLine")
.setBus("Bus1")
.setR(10.0)
.setX(1.0)
.setB(10e-6)
.setG(10e-5)
.setP0(50.0)
.setQ0(30.0)
.add();
return voltageLevel1;
}
private VoltageLevel createSecondVoltageLevel(Substation substation) {
VoltageLevel voltageLevel2 = substation.newVoltageLevel()
.setId("VoltageLevel2")
.setNominalV(400)
.setTopologyKind(TopologyKind.BUS_BREAKER)
.add();
voltageLevel2.getBusBreakerView().newBus()
.setId("Bus2")
.add();
voltageLevel2.newStaticVarCompensator()
.setId("Svc")
.setConnectableBus("Bus2")
.setBus("Bus2")
.setBmin(0.0002)
.setBmax(0.0008)
.setRegulationMode(StaticVarCompensator.RegulationMode.VOLTAGE)
.setVoltageSetpoint(390.0)
.setReactivePowerSetpoint(1.0)
.add();
return voltageLevel2;
}
private void createTransformer(Substation substation) {
int zb380 = 380 * 380 / 100;
substation.newTwoWindingsTransformer()
.setId("Transformer")
.setVoltageLevel1("VoltageLevel1")
.setBus1("Bus1")
.setConnectableBus1("Bus1")
.setRatedU1(24.0)
.setVoltageLevel2("VoltageLevel2")
.setBus2("Bus2")
.setConnectableBus2("Bus2")
.setRatedU2(400.0)
.setR(0.24 / 1300 * zb380)
.setX(Math.sqrt(10 * 10 - 0.24 * 0.24) / 1300 * zb380)
.setG(0.0)
.setB(0.0)
.add();
}
private VoltageLevel createThirdVoltageLevel(Substation substation) {
VoltageLevel voltageLevel3 = substation.newVoltageLevel()
.setId("VoltageLevel3")
.setNominalV(400)
.setTopologyKind(TopologyKind.BUS_BREAKER)
.add();
voltageLevel3.getBusBreakerView().newBus()
.setId("Bus3")
.add();
voltageLevel3.newGenerator()
.setId("Generator")
.setBus("Bus3")
.setConnectableBus("Bus3")
.setTargetP(100)
.setTargetV(380)
.setVoltageRegulatorOn(true)
.setMaxP(100)
.setMinP(0)
.add();
return voltageLevel3;
}
private void create3WTransformer(Substation substation) {
substation.newThreeWindingsTransformer()
.setId("Transformer")
.newLeg1()
.setR(17.424)
.setX(1.7424)
.setB(0.000573921028466483)
.setG(0.00573921028466483)
.setRatedU(132.0)
.setVoltageLevel("VoltageLevel1")
.setBus("Bus1")
.add()
.newLeg2()
.setR(1.089)
.setX(0.1089)
.setRatedU(33.0)
.setVoltageLevel("VoltageLevel2")
.setBus("Bus2")
.add()
.newLeg3()
.setR(0.121)
.setX(0.0121)
.setRatedU(11.0)
.setVoltageLevel("VoltageLevel3")
.setBus("Bus3")
.add()
.add();
}
private void addFirstVoltageLevelDiagramData(Network network, VoltageLevel voltageLevel) {
Bus bus = voltageLevel.getBusBreakerView().getBus("Bus1");
NodeDiagramData<Bus> busDiagramData = new NodeDiagramData<>(bus);
NodeDiagramData.NodeDiagramDataDetails diagramDetails = busDiagramData.new NodeDiagramDataDetails();
diagramDetails.setPoint1(new DiagramPoint(60, 10, 1));
diagramDetails.setPoint2(new DiagramPoint(60, 70, 2));
busDiagramData.addData(DIAGRAM_NAME, diagramDetails);
bus.addExtension(NodeDiagramData.class, busDiagramData);
Load load = network.getLoad("Load");
InjectionDiagramData<Load> loadDiagramData = new InjectionDiagramData<>(load);
InjectionDiagramData.InjectionDiagramDetails loadsDiagramDetails = loadDiagramData.new InjectionDiagramDetails(new DiagramPoint(10, 20, 0), 90);
loadsDiagramDetails.addTerminalPoint(new DiagramPoint(15, 20, 2));
loadsDiagramDetails.addTerminalPoint(new DiagramPoint(60, 20, 1));
loadDiagramData.addData(DIAGRAM_NAME, loadsDiagramDetails);
load.addExtension(InjectionDiagramData.class, loadDiagramData);
ShuntCompensator shunt = network.getShuntCompensator("Shunt");
InjectionDiagramData<ShuntCompensator> shuntDiagramData = new InjectionDiagramData<>(shunt);
InjectionDiagramData.InjectionDiagramDetails shuntDiagramDetails = shuntDiagramData.new InjectionDiagramDetails(new DiagramPoint(15, 55, 0), 90);
shuntDiagramDetails.addTerminalPoint(new DiagramPoint(20, 55, 1));
shuntDiagramDetails.addTerminalPoint(new DiagramPoint(60, 55, 2));
shuntDiagramData.addData(DIAGRAM_NAME, shuntDiagramDetails);
shunt.addExtension(InjectionDiagramData.class, shuntDiagramData);
DanglingLine danglingLine = network.getDanglingLine("DanglingLine");
LineDiagramData<DanglingLine> danglingLineDiagramData = new LineDiagramData<>(danglingLine);
danglingLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(60, 60, 1));
danglingLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(120, 60, 2));
danglingLine.addExtension(LineDiagramData.class, danglingLineDiagramData);
}
private void addSecondVoltageLevelDiagramData(Network network, VoltageLevel voltageLevel) {
Bus bus2 = voltageLevel.getBusBreakerView().getBus("Bus2");
NodeDiagramData<Bus> bus2DiagramData = new NodeDiagramData<>(bus2);
NodeDiagramData.NodeDiagramDataDetails diagramDetails2 = bus2DiagramData.new NodeDiagramDataDetails();
diagramDetails2.setPoint1(new DiagramPoint(120, 10, 1));
diagramDetails2.setPoint2(new DiagramPoint(120, 25, 2));
bus2DiagramData.addData(DIAGRAM_NAME, diagramDetails2);
bus2.addExtension(NodeDiagramData.class, bus2DiagramData);
StaticVarCompensator svc = network.getStaticVarCompensator("Svc");
InjectionDiagramData<StaticVarCompensator> svcDiagramData = new InjectionDiagramData<>(svc);
InjectionDiagramData.InjectionDiagramDetails svcDiagramDataDetails = svcDiagramData.new InjectionDiagramDetails(new DiagramPoint(140, 15, 0), 270);
svcDiagramDataDetails.addTerminalPoint(new DiagramPoint(135, 15, 1));
svcDiagramDataDetails.addTerminalPoint(new DiagramPoint(120, 15, 2));
svcDiagramData.addData(DIAGRAM_NAME, svcDiagramDataDetails);
svc.addExtension(InjectionDiagramData.class, svcDiagramData);
}
private void addTransformerDiagramData(Network network) {
TwoWindingsTransformer twt = network.getTwoWindingsTransformer("Transformer");
CouplingDeviceDiagramData<TwoWindingsTransformer> twtDiagramData = new CouplingDeviceDiagramData<>(twt);
CouplingDeviceDiagramData.CouplingDeviceDiagramDetails twtDiagramDetails = twtDiagramData.new CouplingDeviceDiagramDetails(new DiagramPoint(100, 15, 0), 90);
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL1, new DiagramPoint(95, 15, 1));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL1, new DiagramPoint(60, 15, 2));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL2, new DiagramPoint(105, 15, 1));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL2, new DiagramPoint(120, 15, 2));
twtDiagramData.addData(DIAGRAM_NAME, twtDiagramDetails);
twt.addExtension(CouplingDeviceDiagramData.class, twtDiagramData);
}
private void addThirdVoltageLevelDiagramData(Network network, VoltageLevel voltageLevel) {
Bus bus3 = voltageLevel.getBusBreakerView().getBus("Bus3");
NodeDiagramData<Bus> bus3DiagramData = new NodeDiagramData<>(bus3);
NodeDiagramData.NodeDiagramDataDetails diagramDetails2 = bus3DiagramData.new NodeDiagramDataDetails();
diagramDetails2.setPoint1(new DiagramPoint(80, 40, 1));
diagramDetails2.setPoint2(new DiagramPoint(120, 40, 2));
bus3DiagramData.addData(DIAGRAM_NAME, diagramDetails2);
bus3.addExtension(NodeDiagramData.class, bus3DiagramData);
Generator generator = network.getGenerator("Generator");
InjectionDiagramData<Generator> generatorDiagramData = new InjectionDiagramData<>(generator);
InjectionDiagramData.InjectionDiagramDetails genDiagramDataDetails = generatorDiagramData.new InjectionDiagramDetails(new DiagramPoint(100, 60, 0), 90);
genDiagramDataDetails.addTerminalPoint(new DiagramPoint(100, 55, 1));
genDiagramDataDetails.addTerminalPoint(new DiagramPoint(100, 40, 2));
generatorDiagramData.addData(DIAGRAM_NAME, genDiagramDataDetails);
generator.addExtension(InjectionDiagramData.class, generatorDiagramData);
}
private void add3WTransformerDiagramData(Network network) {
ThreeWindingsTransformer twt = network.getThreeWindingsTransformer("Transformer");
ThreeWindingsTransformerDiagramData twtDiagramData = new ThreeWindingsTransformerDiagramData(twt);
ThreeWindingsTransformerDiagramData.ThreeWindingsTransformerDiagramDataDetails twtDiagramDetails = twtDiagramData.new ThreeWindingsTransformerDiagramDataDetails(new DiagramPoint(100, 15, 0), 90);
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL1, new DiagramPoint(95, 15, 1));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL1, new DiagramPoint(60, 15, 2));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL2, new DiagramPoint(105, 15, 1));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL2, new DiagramPoint(120, 15, 2));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL3, new DiagramPoint(100, 20, 1));
twtDiagramDetails.addTerminalPoint(DiagramTerminal.TERMINAL3, new DiagramPoint(10, 40, 2));
twtDiagramData.addData(DIAGRAM_NAME, twtDiagramDetails);
twt.addExtension(ThreeWindingsTransformerDiagramData.class, twtDiagramData);
}
@Test
void testVoltageLevelLayout() {
test(voltageLevel);
}
@Test
void testSubstationLayout() {
SubstationGraph graph = new NetworkGraphBuilder(network).buildSubstationGraph(substation.getId());
LayoutParameters layoutParameters = new LayoutParameters();
layoutParameters.setCgmesScaleFactor(2);
layoutParameters.setCgmesDiagramName(DIAGRAM_NAME);
new CgmesSubstationLayout(graph, network).run(layoutParameters);
checkGraph(graph.getVoltageLevel(voltageLevel.getId()));
checkCoordinates(graph.getVoltageLevel(voltageLevel.getId()));
checkGraphVl2(graph.getVoltageLevel(voltageLevel2.getId()));
checkCoordinatesVl2(graph.getVoltageLevel(voltageLevel2.getId()));
checkSubstationTwt(graph, 2);
}
@Override
protected void checkGraph(VoltageLevelGraph graph) {
assertEquals(5, graph.getNodes().size());
assertEquals(Node.NodeType.BUS, graph.getNodes().get(0).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(1).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(2).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(3).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(4).getType());
assertEquals("Bus1", graph.getNodes().get(0).getId());
assertEquals("Load", graph.getNodes().get(1).getId());
assertEquals("Shunt", graph.getNodes().get(2).getId());
assertEquals("DanglingLine", graph.getNodes().get(3).getId());
assertEquals("Transformer_ONE", graph.getNodes().get(4).getId());
assertEquals(BUSBAR_SECTION, graph.getNodes().get(0).getComponentType());
assertEquals(LOAD, graph.getNodes().get(1).getComponentType());
assertEquals(CAPACITOR, graph.getNodes().get(2).getComponentType());
assertEquals(DANGLING_LINE, graph.getNodes().get(3).getComponentType());
assertTrue(graph.getNodes().get(4).getComponentType().equals(TWO_WINDINGS_TRANSFORMER) ||
graph.getNodes().get(4).getComponentType().equals(TWO_WINDINGS_TRANSFORMER_LEG) ||
graph.getNodes().get(4).getComponentType().equals(THREE_WINDINGS_TRANSFORMER_LEG));
assertEquals(4, graph.getNodes().get(0).getAdjacentNodes().size());
checkAdjacentNodes(graph.getNodes().get(0), Arrays.asList("Load", "Shunt", "DanglingLine", "Transformer_ONE"));
checkBusConnection(graph.getNodes().get(1));
checkBusConnection(graph.getNodes().get(2));
checkBusConnection(graph.getNodes().get(3));
checkBusConnection(graph.getNodes().get(4));
assertEquals(4, graph.getEdges().size());
}
private void checkBusConnection(Node node) {
assertEquals(1, node.getAdjacentNodes().size());
assertEquals("Bus1", node.getAdjacentNodes().get(0).getId());
}
@Override
protected void checkCoordinates(VoltageLevelGraph graph) {
assertEquals(120, graph.getNodes().get(0).getX(), 0);
assertEquals(10, graph.getNodes().get(0).getY(), 0);
assertEquals(120, ((BusNode) graph.getNodes().get(0)).getPxWidth(), 0);
assertEquals(Orientation.UP, graph.getNodes().get(0).getOrientation());
assertEquals(20, graph.getNodes().get(1).getX(), 0);
assertEquals(30, graph.getNodes().get(1).getY(), 0);
assertEquals(Orientation.RIGHT, graph.getNodes().get(1).getOrientation());
assertEquals(30, graph.getNodes().get(2).getX(), 0);
assertEquals(100, graph.getNodes().get(2).getY(), 0);
assertEquals(Orientation.RIGHT, graph.getNodes().get(2).getOrientation());
assertEquals(160, graph.getNodes().get(3).getX(), 0);
assertEquals(110, graph.getNodes().get(3).getY(), 0);
assertEquals(Orientation.RIGHT, graph.getNodes().get(3).getOrientation());
assertEquals(200, graph.getNodes().get(4).getX(), 0);
assertEquals(20, graph.getNodes().get(4).getY(), 0);
assertEquals(Orientation.UP, graph.getNodes().get(4).getOrientation());
}
private void checkGraphVl2(VoltageLevelGraph graph) {
assertEquals(3, graph.getNodes().size());
assertEquals(Node.NodeType.BUS, graph.getNodes().get(0).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(1).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(2).getType());
assertEquals("Bus2", graph.getNodes().get(0).getId());
assertEquals("Svc", graph.getNodes().get(1).getId());
assertEquals("Transformer_TWO", graph.getNodes().get(2).getId());
assertEquals(BUSBAR_SECTION, graph.getNodes().get(0).getComponentType());
assertEquals(STATIC_VAR_COMPENSATOR, graph.getNodes().get(1).getComponentType());
assertTrue(graph.getNodes().get(2).getComponentType().equals(TWO_WINDINGS_TRANSFORMER_LEG) ||
graph.getNodes().get(2).getComponentType().equals(THREE_WINDINGS_TRANSFORMER_LEG));
assertEquals(2, graph.getNodes().get(0).getAdjacentNodes().size());
assertEquals("Svc", graph.getNodes().get(0).getAdjacentNodes().get(0).getId());
assertEquals("Transformer_TWO", graph.getNodes().get(0).getAdjacentNodes().get(1).getId());
assertEquals(1, graph.getNodes().get(1).getAdjacentNodes().size());
assertEquals("Bus2", graph.getNodes().get(1).getAdjacentNodes().get(0).getId());
assertEquals(1, graph.getNodes().get(2).getAdjacentNodes().size());
assertEquals("Bus2", graph.getNodes().get(2).getAdjacentNodes().get(0).getId());
}
private void checkCoordinatesVl2(VoltageLevelGraph graph) {
assertEquals(240, graph.getNodes().get(0).getX(), 0);
assertEquals(10, graph.getNodes().get(0).getY(), 0);
assertEquals(30, ((BusNode) graph.getNodes().get(0)).getPxWidth(), 0);
assertEquals(Orientation.UP, graph.getNodes().get(0).getOrientation());
assertEquals(280, graph.getNodes().get(1).getX(), 0);
assertEquals(20, graph.getNodes().get(1).getY(), 0);
assertEquals(Orientation.LEFT, graph.getNodes().get(1).getOrientation());
assertEquals(200, graph.getNodes().get(2).getX(), 0);
assertEquals(20, graph.getNodes().get(2).getY(), 0);
assertEquals(Orientation.UP, graph.getNodes().get(2).getOrientation());
}
private void checkGraphVl3(VoltageLevelGraph graph) {
assertEquals(3, graph.getNodes().size());
assertEquals(Node.NodeType.BUS, graph.getNodes().get(0).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(1).getType());
assertEquals(Node.NodeType.FEEDER, graph.getNodes().get(2).getType());
assertEquals("Bus3", graph.getNodes().get(0).getId());
assertEquals("Generator", graph.getNodes().get(1).getId());
assertEquals("Transformer_THREE", graph.getNodes().get(2).getId());
assertEquals(BUSBAR_SECTION, graph.getNodes().get(0).getComponentType());
assertEquals(GENERATOR, graph.getNodes().get(1).getComponentType());
assertEquals(THREE_WINDINGS_TRANSFORMER_LEG, graph.getNodes().get(2).getComponentType());
assertEquals(2, graph.getNodes().get(0).getAdjacentNodes().size());
assertEquals("Generator", graph.getNodes().get(0).getAdjacentNodes().get(0).getId());
assertEquals("Transformer_THREE", graph.getNodes().get(0).getAdjacentNodes().get(1).getId());
assertEquals(1, graph.getNodes().get(1).getAdjacentNodes().size());
assertEquals("Bus3", graph.getNodes().get(1).getAdjacentNodes().get(0).getId());
assertEquals(1, graph.getNodes().get(2).getAdjacentNodes().size());
assertEquals("Bus3", graph.getNodes().get(2).getAdjacentNodes().get(0).getId());
}
private void checkCoordinatesVl3(VoltageLevelGraph graph) {
assertEquals(160, graph.getNodes().get(0).getX(), 0);
assertEquals(70, graph.getNodes().get(0).getY(), 0);
assertEquals(80, ((BusNode) graph.getNodes().get(0)).getPxWidth(), 0);
assertEquals(Orientation.RIGHT, graph.getNodes().get(0).getOrientation());
assertEquals(200, graph.getNodes().get(1).getX(), 0);
assertEquals(110, graph.getNodes().get(1).getY(), 0);
assertEquals(200, graph.getNodes().get(2).getX(), 0);
assertEquals(20, graph.getNodes().get(2).getY(), 0);
assertEquals(Orientation.UP, graph.getNodes().get(2).getOrientation());
}
private void checkSubstationTwt(SubstationGraph graph, int edgesNumber) {
assertEquals(edgesNumber, graph.getTwtEdges().size());
assertEquals(1, graph.getMultiTermNodes().size());
assertEquals(200, graph.getMultiTermNodes().get(0).getX(), 0);
assertEquals(20, graph.getMultiTermNodes().get(0).getY(), 0);
}
@Test
void testSubstationLayout3WT() {
SubstationGraph graph = new NetworkGraphBuilder(networkWith3WT).buildSubstationGraph(substation2.getId());
LayoutParameters layoutParameters = new LayoutParameters();
layoutParameters.setCgmesScaleFactor(2);
layoutParameters.setCgmesDiagramName(DIAGRAM_NAME);
new CgmesSubstationLayout(graph, networkWith3WT).run(layoutParameters);
checkGraph(graph.getVoltageLevel(voltageLevel21.getId()));
checkCoordinates(graph.getVoltageLevel(voltageLevel21.getId()));
checkGraphVl2(graph.getVoltageLevel(voltageLevel22.getId()));
checkCoordinatesVl2(graph.getVoltageLevel(voltageLevel22.getId()));
checkGraphVl3(graph.getVoltageLevel(voltageLevel23.getId()));
checkCoordinatesVl3(graph.getVoltageLevel(voltageLevel23.getId()));
checkSubstationTwt(graph, 3);
}
}