Skip to content

Commit

Permalink
Improve metadata comparison
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas ADAM <[email protected]>
  • Loading branch information
tadam50 committed Feb 19, 2024
1 parent 16f503f commit 54624d9
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
*/
package com.powsybl.sld;

import com.fasterxml.jackson.databind.*;
import com.google.common.io.ByteStreams;
import com.powsybl.sld.layout.*;
import com.powsybl.sld.library.ComponentLibrary;
Expand Down Expand Up @@ -135,7 +136,7 @@ public String toSVG(Graph graph, String filename, ComponentLibrary componentLibr
}
}

public boolean compareMetadata(VoltageLevelGraph graph, String refMetadataName, VoltageLevelLayoutFactory voltageLevelLayoutFactory, ComponentLibrary componentLibrary, LayoutParameters layoutParameters, SvgParameters svgParameters, LabelProvider labelProvider, StyleProvider styleProvider) {
public JsonNode[] compareMetadata(VoltageLevelGraph graph, String refMetadataName, VoltageLevelLayoutFactory voltageLevelLayoutFactory, ComponentLibrary componentLibrary, LayoutParameters layoutParameters, SvgParameters svgParameters, LabelProvider labelProvider, StyleProvider styleProvider) {

InputStream isRefMetadata = Objects.requireNonNull(getClass().getResourceAsStream(refMetadataName));

Expand All @@ -155,15 +156,19 @@ public boolean compareMetadata(VoltageLevelGraph graph, String refMetadataName,
writeToFileInDebugDir(refMetadataName.replace(".json", ".svg"), writer);
}

String refMetadata = normalizeLineSeparator(new String(ByteStreams.toByteArray(isRefMetadata), StandardCharsets.UTF_8));
String metadata = normalizeLineSeparator(metadataWriter.toString());
return refMetadata.compareTo(metadata) == 0;
String refMetadata = new String(ByteStreams.toByteArray(isRefMetadata), StandardCharsets.UTF_8);
String metadata = metadataWriter.toString();
ObjectMapper mapper = new ObjectMapper();
JsonNode[] results = new JsonNode[2];
results[0] = mapper.readTree(refMetadata); // Expected
results[1] = mapper.readTree(metadata); // Actual
return results;
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}

public String[] compareMetadata(SubstationGraph graph, String refMetdataName, SubstationLayoutFactory substationLayoutFactory, VoltageLevelLayoutFactory voltageLevelLayoutFactory, ComponentLibrary componentLibrary, LayoutParameters layoutParameters, SvgParameters svgParameters, LabelProvider labelProvider, StyleProvider styleProvider) {
public JsonNode[] compareMetadata(SubstationGraph graph, String refMetdataName, SubstationLayoutFactory substationLayoutFactory, VoltageLevelLayoutFactory voltageLevelLayoutFactory, ComponentLibrary componentLibrary, LayoutParameters layoutParameters, SvgParameters svgParameters, LabelProvider labelProvider, StyleProvider styleProvider) {

InputStream isRefMetadata = Objects.requireNonNull(getClass().getResourceAsStream(refMetdataName));

Expand All @@ -183,11 +188,12 @@ public String[] compareMetadata(SubstationGraph graph, String refMetdataName, Su
writeToFileInDebugDir(refMetdataName.replace(".json", ".svg"), writer);
}

String refMetadata = normalizeLineSeparator(new String(ByteStreams.toByteArray(isRefMetadata), StandardCharsets.UTF_8));
String metadata = normalizeLineSeparator(metadataWriter.toString());
String[] results = new String[2];
results[0] = refMetadata; // Expected
results[1] = metadata; // Actual
String refMetadata = new String(ByteStreams.toByteArray(isRefMetadata), StandardCharsets.UTF_8);
String metadata = metadataWriter.toString();
ObjectMapper mapper = new ObjectMapper();
JsonNode[] results = new JsonNode[2];
results[0] = mapper.readTree(refMetadata); // Expected
results[1] = mapper.readTree(metadata); // Actual
return results;
} catch (IOException e) {
throw new UncheckedIOException(e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
*/
package com.powsybl.sld.iidm;

import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
import com.powsybl.diagram.test.Networks;
import com.powsybl.iidm.network.extensions.ConnectablePosition;
import com.powsybl.sld.builders.NetworkGraphBuilder;
Expand Down Expand Up @@ -147,14 +149,14 @@ void testWithHvdcLines() {
}

@Test
void testMetadataWithHvdcLines() {
void testMetadataWithHvdcLines() throws JsonProcessingException {
network = Networks.createNetworkWithHvdcLines("VSC_1", "VSC_2", "LCC_1", "LCC_2");
substation = network.getSubstation("Substation1");
graphBuilder = new NetworkGraphBuilder(network);

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

String[] metadata = compareMetadata(g, "/substDiag_with_hvdc_line_metadata.json",
JsonNode[] metadata = compareMetadata(g, "/substDiag_with_hvdc_line_metadata.json",
new HorizontalSubstationLayoutFactory(),
new PositionVoltageLevelLayoutFactory(),
componentLibrary,
Expand All @@ -170,7 +172,7 @@ void testHorizontalDefaultStyle() {
// (with horizontal substation layout)
SubstationGraph substationGraph = graphBuilder.buildSubstationGraph(substation.getId());

String[] metadata = compareMetadata(substationGraph, "/substDiag_metadata.json", new HorizontalSubstationLayoutFactory(),
JsonNode[] metadata = compareMetadata(substationGraph, "/substDiag_metadata.json", new HorizontalSubstationLayoutFactory(),
new PositionVoltageLevelLayoutFactory(), componentLibrary, layoutParameters, svgParameters, getDefaultDiagramLabelProvider(), new BasicStyleProvider());
assertEquals(metadata[0], metadata[1]);
}
Expand All @@ -181,7 +183,7 @@ void testHorizontalNominalStyle() {
// (with horizontal substation layout)
SubstationGraph graph = graphBuilder.buildSubstationGraph(substation.getId());

String[] metadata = compareMetadata(graph, "/substDiag_metadata.json", new HorizontalSubstationLayoutFactory(), new PositionVoltageLevelLayoutFactory(), componentLibrary, layoutParameters, svgParameters, getDefaultDiagramLabelProvider(), new NominalVoltageStyleProvider());
JsonNode[] metadata = compareMetadata(graph, "/substDiag_metadata.json", new HorizontalSubstationLayoutFactory(), new PositionVoltageLevelLayoutFactory(), componentLibrary, layoutParameters, svgParameters, getDefaultDiagramLabelProvider(), new NominalVoltageStyleProvider());
assertEquals(metadata[0], metadata[1]);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
*/
package com.powsybl.sld.iidm;

import com.fasterxml.jackson.databind.*;
import com.powsybl.diagram.test.Networks;
import com.powsybl.iidm.network.*;
import com.powsybl.iidm.network.extensions.ConnectablePosition;
Expand Down Expand Up @@ -262,7 +263,8 @@ void testMetadata() {

// compare metadata of voltage level diagram with reference
VoltageLevelGraph graph = graphBuilder.buildVoltageLevelGraph(vl1.getId());
assertTrue(compareMetadata(graph, "/vlDiag_metadata.json", new PositionVoltageLevelLayoutFactory(), componentLibrary, layoutParameters, svgParameters, getDefaultDiagramLabelProvider(), new NominalVoltageStyleProvider()));
JsonNode[] metadata = compareMetadata(graph, "/vlDiag_metadata.json", new PositionVoltageLevelLayoutFactory(), componentLibrary, layoutParameters, svgParameters, getDefaultDiagramLabelProvider(), new NominalVoltageStyleProvider());
assertEquals(metadata[0], metadata[1]);
}

@Test
Expand Down

0 comments on commit 54624d9

Please sign in to comment.