Skip to content

Commit

Permalink
LayoutParameters given by abstract getLayoutParameters()
Browse files Browse the repository at this point in the history
- Replacing all new LayoutParameters in tests by getLayoutParameters
- Factorizing same LayoutParameters with createDefaultLayoutParameters()

Signed-off-by: Florian Dupuy <florian.dupuy@rte-france.com>
  • Loading branch information
flo-dup committed Dec 8, 2020
1 parent cb6df27 commit f66e03e
Show file tree
Hide file tree
Showing 47 changed files with 287 additions and 450 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,31 @@ public abstract class AbstractTestCase {
protected boolean writeFile = false;

protected final ResourcesComponentLibrary componentLibrary = getResourcesComponentLibrary();
protected LayoutParameters layoutParameters;

protected abstract LayoutParameters getLayoutParameters();

protected static LayoutParameters createDefaultLayoutParameters() {
return new LayoutParameters()
.setTranslateX(20)
.setTranslateY(50)
.setInitialXBus(0)
.setInitialYBus(260)
.setVerticalSpaceBus(25)
.setHorizontalBusPadding(20)
.setCellWidth(50)
.setExternCellHeight(250)
.setInternCellHeight(40)
.setStackHeight(30)
.setShowGrid(true)
.setShowInternalNodes(true)
.setScaleFactor(1)
.setHorizontalSubstationPadding(50)
.setVerticalSubstationPadding(50)
.setArrowDistance(20)
.setDrawStraightWires(false)
.setHorizontalSnakeLinePadding(30)
.setVerticalSnakeLinePadding(30);
}

protected ResourcesComponentLibrary getResourcesComponentLibrary() {
return new ResourcesComponentLibrary("/ConvergenceLibrary");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,21 @@ Substation getSubstation() {

@Override
public void toSVG(Graph g, String filename) {
toSVG(g, filename, layoutParameters, getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
toSVG(g, filename, getLayoutParameters(), getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
}

@Override
public void toSVG(SubstationGraph g, String filename) {
toSVG(g, filename, layoutParameters, getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
toSVG(g, filename, getLayoutParameters(), getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
}

@Override
public void toSVG(ZoneGraph g, String filename) {
toSVG(g, filename, layoutParameters, getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
toSVG(g, filename, getLayoutParameters(), getDefaultDiagramLabelProvider(), getDefaultDiagramStyleProvider());
}

private DiagramLabelProvider getDefaultDiagramLabelProvider() {
return new DefaultDiagramLabelProvider(network, componentLibrary, layoutParameters);
return new DefaultDiagramLabelProvider(network, componentLibrary, getLayoutParameters());
}

private DiagramStyleProvider getDefaultDiagramStyleProvider() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@
*/
public class TestCase1 extends AbstractTestCaseIidm {

@Override
protected LayoutParameters getLayoutParameters() {
return createDefaultLayoutParameters();
}

@Before
public void setUp() {
network = Network.create("testCase1", "test");
Expand All @@ -61,25 +66,7 @@ public void test() {
new BlockOrganizer().organize(g);

// calculate coordinates
layoutParameters = new LayoutParameters()
.setTranslateX(20)
.setTranslateY(50)
.setInitialXBus(0)
.setInitialYBus(260)
.setVerticalSpaceBus(25)
.setHorizontalBusPadding(20)
.setCellWidth(50)
.setExternCellHeight(250)
.setInternCellHeight(40)
.setStackHeight(30)
.setShowGrid(true)
.setShowInternalNodes(true)
.setScaleFactor(1)
.setHorizontalSubstationPadding(50)
.setVerticalSubstationPadding(50)
.setArrowDistance(20);

new PositionVoltageLevelLayout(g).run(layoutParameters);
new PositionVoltageLevelLayout(g).run(getLayoutParameters());

// write Json and compare to reference
assertEquals(toString("/TestCase1.json"), toJson(g, "/TestCase1.json"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@
*/
package com.powsybl.sld.iidm;

import com.powsybl.iidm.network.*;
import com.powsybl.iidm.network.Country;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.SwitchKind;
import com.powsybl.iidm.network.TopologyKind;
import com.powsybl.sld.iidm.extensions.ConnectablePosition;
import com.powsybl.sld.layout.LayoutParameters;

/**
* <PRE>
Expand All @@ -27,6 +31,11 @@
*/
public class TestCase10TestBreakerToBus extends AbstractTestCaseIidm {

@Override
protected LayoutParameters getLayoutParameters() {
return null;
}

@Override
public void setUp() {
network = Network.create("testCase1", "AbstractTest");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,17 @@
*/
public class TestCase11SubstationGraph extends AbstractTestCaseIidm {

protected LayoutParameters layoutParameters;

@Override
public LayoutParameters getLayoutParameters() {
return layoutParameters;
}

@Before
public void setUp() {
layoutParameters = createDefaultLayoutParameters();

network = Network.create("testCase11", "test");
graphBuilder = new NetworkGraphBuilder(network);

Expand Down Expand Up @@ -207,50 +216,30 @@ public void setUp() {

@Test
public void test() {
layoutParameters = new LayoutParameters()
.setTranslateX(20)
.setTranslateY(50)
.setInitialXBus(0)
.setInitialYBus(260)
.setVerticalSpaceBus(25)
.setHorizontalBusPadding(20)
.setCellWidth(50)
.setExternCellHeight(250)
.setInternCellHeight(40)
.setStackHeight(30)
.setShowGrid(true)
.setShowInternalNodes(false)
.setScaleFactor(1)
.setHorizontalSubstationPadding(50)
.setVerticalSubstationPadding(50)
.setDrawStraightWires(false)
.setHorizontalSnakeLinePadding(30)
.setVerticalSnakeLinePadding(30);

// build substation graph

Graph gvl = graphBuilder.buildVoltageLevelGraph("vl1", true, true);
new PositionVoltageLevelLayoutFactory().create(gvl).run(layoutParameters);
new PositionVoltageLevelLayoutFactory().create(gvl).run(getLayoutParameters());

SubstationGraph g = graphBuilder.buildSubstationGraph(substation.getId(), false);

// write Json and compare to reference (with horizontal substation layout)
new HorizontalSubstationLayoutFactory().create(g, new PositionVoltageLevelLayoutFactory()).run(layoutParameters);
new HorizontalSubstationLayoutFactory().create(g, new PositionVoltageLevelLayoutFactory()).run(getLayoutParameters());
assertEquals(toString("/TestCase11SubstationGraphH.json"), toJson(g, "/TestCase11SubstationGraphH.json"));

// rebuild substation graph
g = graphBuilder.buildSubstationGraph(substation.getId(), false);

// write Json and compare to reference (with vertical substation layout)
new VerticalSubstationLayoutFactory().create(g, new PositionVoltageLevelLayoutFactory()).run(layoutParameters);
new VerticalSubstationLayoutFactory().create(g, new PositionVoltageLevelLayoutFactory()).run(getLayoutParameters());
assertEquals(toString("/TestCase11SubstationGraphV.json"), toJson(g, "/TestCase11SubstationGraphV.json"));

// compare metadata of substation diagram with reference
// (with horizontal substation layout)
SubstationDiagram diagram = SubstationDiagram.build(graphBuilder, substation.getId());

compareMetadata(diagram, layoutParameters, "/substDiag_metadata.json",
new DefaultDiagramLabelProvider(network, componentLibrary, layoutParameters),
compareMetadata(diagram, getLayoutParameters(), "/substDiag_metadata.json",
new DefaultDiagramLabelProvider(network, componentLibrary, getLayoutParameters()),
new DefaultDiagramStyleProvider());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,11 @@
*/
package com.powsybl.sld.iidm;

import com.powsybl.iidm.network.Country;
import com.powsybl.iidm.network.Generator;
import com.powsybl.iidm.network.Load;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.SwitchKind;
import com.powsybl.iidm.network.TopologyKind;
import com.powsybl.iidm.network.VoltageLevel;
import com.powsybl.iidm.network.*;
import com.powsybl.sld.NetworkGraphBuilder;
import com.powsybl.sld.VoltageLevelDiagram;
import com.powsybl.sld.iidm.extensions.ConnectablePosition;
import com.powsybl.sld.layout.BlockOrganizer;
import com.powsybl.sld.layout.ImplicitCellDetector;
import com.powsybl.sld.layout.LayoutParameters;
import com.powsybl.sld.layout.PositionVoltageLevelLayout;
import com.powsybl.sld.layout.PositionVoltageLevelLayoutFactory;
import com.powsybl.sld.layout.*;
import com.powsybl.sld.library.ComponentLibrary;
import com.powsybl.sld.library.ResourcesComponentLibrary;
import com.powsybl.sld.model.Graph;
Expand All @@ -41,9 +31,19 @@ public class TestCase12GraphWith3WT extends AbstractTestCaseIidm {
private VoltageLevel vl1;
private VoltageLevel vl2;
private VoltageLevel vl3;
private LayoutParameters layoutParameters;

@Override
protected LayoutParameters getLayoutParameters() {
return layoutParameters;
}

@Before
public void setUp() {
layoutParameters = createDefaultLayoutParameters()
.setCellWidth(80)
.setShowInternalNodes(false);

network = Network.create("testCase11", "test");
graphBuilder = new NetworkGraphBuilder(network);

Expand Down Expand Up @@ -221,56 +221,35 @@ public void setUp() {

@Test
public void test() {
layoutParameters = new LayoutParameters()
.setTranslateX(20)
.setTranslateY(50)
.setInitialXBus(0)
.setInitialYBus(260)
.setVerticalSpaceBus(25)
.setHorizontalBusPadding(20)
.setCellWidth(80)
.setExternCellHeight(250)
.setInternCellHeight(40)
.setStackHeight(30)
.setShowGrid(true)
.setShowInternalNodes(false)
.setScaleFactor(1)
.setHorizontalSubstationPadding(50)
.setVerticalSubstationPadding(50)
.setDrawStraightWires(false)
.setHorizontalSnakeLinePadding(30)
.setVerticalSnakeLinePadding(30);

// build voltage level 1 graph
Graph g1 = graphBuilder.buildVoltageLevelGraph(vl1.getId(), false, true);
new ImplicitCellDetector().detectCells(g1);
new BlockOrganizer().organize(g1);
new PositionVoltageLevelLayout(g1).run(layoutParameters);
new PositionVoltageLevelLayout(g1).run(getLayoutParameters());

Graph g2 = graphBuilder.buildVoltageLevelGraph(vl2.getId(), false, true);
new ImplicitCellDetector().detectCells(g2);
new BlockOrganizer().organize(g2);
new PositionVoltageLevelLayout(g2).run(layoutParameters);
new PositionVoltageLevelLayout(g2).run(getLayoutParameters());

Graph g3 = graphBuilder.buildVoltageLevelGraph(vl3.getId(), false, true);
new ImplicitCellDetector().detectCells(g3);
new BlockOrganizer().organize(g3);
new PositionVoltageLevelLayout(g3).run(layoutParameters);
new PositionVoltageLevelLayout(g3).run(getLayoutParameters());

// write JSON and compare to reference (horizontal layout)
assertEquals(toString("/TestCase12GraphVL1.json"), toJson(g1, "/TestCase12GraphVL1.json"));
assertEquals(toString("/TestCase12GraphVL2.json"), toJson(g2, "/TestCase12GraphVL2.json"));
assertEquals(toString("/TestCase12GraphVL3.json"), toJson(g3, "/TestCase12GraphVL3.json"));

// Optimize SVG by avoiding duplication
layoutParameters = new LayoutParameters(layoutParameters);
layoutParameters.setAvoidSVGComponentsDuplication(true);
getLayoutParameters().setAvoidSVGComponentsDuplication(true);

// compare metadata of voltage level diagram with reference
VoltageLevelDiagram diagram = VoltageLevelDiagram.build(graphBuilder, vl1.getId(),
new PositionVoltageLevelLayoutFactory(), false);
compareMetadata(diagram, layoutParameters, "/vlDiag_metadata.json",
new DefaultDiagramLabelProvider(network, componentLibrary, layoutParameters),
compareMetadata(diagram, getLayoutParameters(), "/vlDiag_metadata.json",
new DefaultDiagramLabelProvider(network, componentLibrary, getLayoutParameters()),
new NominalVoltageDiagramStyleProvider(network));
}

Expand All @@ -284,50 +263,32 @@ public void testNodesInfos() {
generator.getTerminal().getBusView().getBus().setV(403);
generator.getTerminal().getBusView().getBus().setAngle(-1.7);

layoutParameters = new LayoutParameters()
.setTranslateX(20)
.setTranslateY(50)
.setInitialXBus(0)
.setInitialYBus(260)
.setVerticalSpaceBus(25)
.setHorizontalBusPadding(20)
.setCellWidth(80)
.setExternCellHeight(250)
.setInternCellHeight(40)
.setStackHeight(30)
.setShowGrid(true)
.setShowInternalNodes(false)
.setScaleFactor(1)
.setHorizontalSubstationPadding(50)
.setVerticalSubstationPadding(50)
.setDrawStraightWires(false)
.setHorizontalSnakeLinePadding(30)
.setVerticalSnakeLinePadding(30)
.setAdaptCellHeightToContent(true)
.setAddNodesInfos(true);
getLayoutParameters()
.setAdaptCellHeightToContent(true)
.setAddNodesInfos(true);

// build voltage level 1 graph
Graph g1 = graphBuilder.buildVoltageLevelGraph(vl1.getId(), false, true);
new ImplicitCellDetector().detectCells(g1);
new BlockOrganizer().organize(g1);
new PositionVoltageLevelLayout(g1).run(layoutParameters);
new PositionVoltageLevelLayout(g1).run(getLayoutParameters());

DiagramStyleProvider vNomStyleProvider = new NominalVoltageDiagramStyleProvider(network);
DiagramStyleProvider topoStyleProvider = new TopologicalStyleProvider(network);

ComponentLibrary componentLibrary = new ResourcesComponentLibrary("/ConvergenceLibrary");
DefaultDiagramLabelProvider initProvider = new DefaultDiagramLabelProvider(network, componentLibrary, layoutParameters);
DefaultDiagramLabelProvider initProvider = new DefaultDiagramLabelProvider(network, componentLibrary, getLayoutParameters());

// write SVGs and compare to reference
assertEquals(toString("/TestCase12GraphWithNodesInfosNominalVoltage.svg"),
toSVG(g1, "/TestCase12GraphWithNodesInfosNominalVoltage.svg", layoutParameters, initProvider, vNomStyleProvider));
toSVG(g1, "/TestCase12GraphWithNodesInfosNominalVoltage.svg", getLayoutParameters(), initProvider, vNomStyleProvider));

g1 = graphBuilder.buildVoltageLevelGraph(vl1.getId(), false, true);
new ImplicitCellDetector().detectCells(g1);
new BlockOrganizer().organize(g1);
new PositionVoltageLevelLayout(g1).run(layoutParameters);
new PositionVoltageLevelLayout(g1).run(getLayoutParameters());

assertEquals(toString("/TestCase12GraphWithNodesInfosTopological.svg"),
toSVG(g1, "/TestCase12GraphWithNodesInfosTopological.svg", layoutParameters, initProvider, topoStyleProvider));
toSVG(g1, "/TestCase12GraphWithNodesInfosTopological.svg", getLayoutParameters(), initProvider, topoStyleProvider));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,15 @@
* @author Christian Biasuzzi <christian.biasuzzi@techrain.eu>
*/
public class TestCase13ZoneGraph extends AbstractTestCaseIidm {

@Override
protected LayoutParameters getLayoutParameters() {
return new LayoutParameters();
}

@Before
public void setUp() {
network = ZoneGraphTest.createNetwork();
layoutParameters = new LayoutParameters();
}

@Test
Expand Down
Loading

0 comments on commit f66e03e

Please sign in to comment.