HvdcLineDiagramDataTest.java
/**
* Copyright (c) 2019, 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/.
*/
package com.powsybl.sld.cgmes.dl.iidm.extensions;
import com.powsybl.iidm.network.HvdcLine;
import com.powsybl.iidm.network.LccConverterStation;
import com.powsybl.iidm.network.Network;
import com.powsybl.diagram.test.Networks;
import com.powsybl.iidm.network.VscConverterStation;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertSame;
/**
*
* @author Massimo Ferraro {@literal <massimo.ferraro@techrain.eu>}
*/
class HvdcLineDiagramDataTest extends AbstractLineDiagramDataTest {
@Test
void test() {
Network network = Networks.createNetworkWithHvdcLine();
HvdcLine hvdcLine = network.getHvdcLine("HvdcLine");
LineDiagramData<HvdcLine> hvdcLineDiagramData = new LineDiagramData<>(hvdcLine);
hvdcLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(10, 0, 2));
hvdcLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(0, 10, 1));
hvdcLine.addExtension(LineDiagramData.class, hvdcLineDiagramData);
HvdcLine hvdcLine2 = network.getHvdcLine("HvdcLine");
LineDiagramData<HvdcLine> hvdcLineDiagramData2 = hvdcLine2.getExtension(LineDiagramData.class);
assertEquals(1, hvdcLineDiagramData2.getDiagramsNames().size());
checkDiagramData(hvdcLineDiagramData2, DIAGRAM_NAME);
}
@Test
void testMultipleDiagrams() {
Network network = Networks.createNetworkWithHvdcLine();
HvdcLine hvdcLine = network.getHvdcLine("HvdcLine");
LineDiagramData<HvdcLine> hvdcLineDiagramData = new LineDiagramData<>(hvdcLine);
hvdcLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(10, 0, 2));
hvdcLineDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(0, 10, 1));
hvdcLineDiagramData.addPoint(DIAGRAM2_NAME, new DiagramPoint(10, 20, 1));
hvdcLineDiagramData.addPoint(DIAGRAM2_NAME, new DiagramPoint(20, 10, 2));
hvdcLine.addExtension(LineDiagramData.class, hvdcLineDiagramData);
HvdcLine hvdcLine2 = network.getHvdcLine("HvdcLine");
LineDiagramData<HvdcLine> hvdcLineDiagramData2 = hvdcLine2.getExtension(LineDiagramData.class);
assertEquals(2, hvdcLineDiagramData2.getDiagramsNames().size());
checkDiagramData(hvdcLineDiagramData2, DIAGRAM_NAME);
checkDiagramData(hvdcLineDiagramData2, DIAGRAM2_NAME);
}
@Test
void testVsc() {
Network network = Networks.createNetworkWithHvdcLine();
VscConverterStation vsc = network.getVscConverterStation("Converter1");
LineDiagramData<VscConverterStation> vscDiagramData = LineDiagramData.getOrCreateDiagramData(vsc);
vscDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(10, 0, 2));
vscDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(0, 10, 1));
vsc.addExtension(LineDiagramData.class, vscDiagramData);
VscConverterStation vsc2 = network.getVscConverterStation("Converter1");
LineDiagramData<VscConverterStation> vscDiagramData2 = vsc2.getExtension(LineDiagramData.class);
assertEquals(1, vscDiagramData2.getDiagramsNames().size());
checkDiagramData(vscDiagramData2, DIAGRAM_NAME);
LineDiagramData<VscConverterStation> vscDiagramData3 = LineDiagramData.getOrCreateDiagramData(vsc);
assertSame(vscDiagramData, vscDiagramData3);
}
@Test
void testLcc() {
Network network = Networks.createNetworkWithHvdcLines();
LccConverterStation lcc = network.getLccConverterStation("Converter3");
LineDiagramData<LccConverterStation> lccDiagramData = LineDiagramData.getOrCreateDiagramData(lcc);
lccDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(10, 0, 2));
lccDiagramData.addPoint(DIAGRAM_NAME, new DiagramPoint(0, 10, 1));
lcc.addExtension(LineDiagramData.class, lccDiagramData);
LccConverterStation lcc2 = network.getLccConverterStation("Converter3");
LineDiagramData<LccConverterStation> lccDiagramData2 = lcc2.getExtension(LineDiagramData.class);
assertEquals(1, lccDiagramData2.getDiagramsNames().size());
checkDiagramData(lccDiagramData2, DIAGRAM_NAME);
LineDiagramData<LccConverterStation> lccDiagramData3 = LineDiagramData.getOrCreateDiagramData(lcc);
assertSame(lccDiagramData, lccDiagramData3);
}
}