Skip to content

Commit

Permalink
update unit test
Browse files Browse the repository at this point in the history
Signed-off-by: David BRAQUART <[email protected]>
  • Loading branch information
dbraquart committed Feb 13, 2025
1 parent 48dc1cc commit 388a136
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,27 @@
import com.powsybl.iidm.network.Line;
import com.powsybl.iidm.network.LoadingLimits.TemporaryLimit;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.ThreeSides;
import com.powsybl.iidm.network.extensions.ConnectablePosition;
import com.powsybl.iidm.network.extensions.Measurement;
import com.powsybl.iidm.network.extensions.Measurements;
import com.powsybl.iidm.network.extensions.MeasurementsAdder;
import org.apache.commons.collections4.CollectionUtils;
import org.gridsuite.modification.NetworkModificationException;
import org.gridsuite.modification.dto.*;
import org.gridsuite.modification.utils.NetworkCreation;
import org.junit.jupiter.api.Test;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import static org.assertj.core.api.Assertions.assertThat;
import static org.gridsuite.modification.NetworkModificationException.Type.LINE_NOT_FOUND;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;

/**
Expand All @@ -31,10 +40,25 @@ class LineModificationTest extends AbstractNetworkModificationTest {

private static final String PROPERTY_NAME = "property-name";
private static final String PROPERTY_VALUE = "property-value";
private static final Double MEASUREMENT_P_VALUE = 10.0;
private static final Double MEASUREMENT_Q_VALUE = -10.0;
private static final Boolean MEASUREMENT_P_VALID = true;
private static final Boolean MEASUREMENT_Q_VALID = false;

@Override
protected Network createNetwork(UUID networkUuid) {
return NetworkCreation.create(networkUuid, true);
Network n = NetworkCreation.create(networkUuid, true);
// add Measurements extension on ONE side
Line line1 = n.getLine("line1");
MeasurementsAdder<?> measurementsAdder = line1.newExtension(MeasurementsAdder.class);
Measurements<?> measurements = measurementsAdder.add();
measurements.newMeasurement().setId(UUID.randomUUID().toString())
.setType(Measurement.Type.ACTIVE_POWER).setSide(ThreeSides.ONE).setValue(MEASUREMENT_P_VALUE).setValid(MEASUREMENT_P_VALID)
.add();
measurements.newMeasurement().setId(UUID.randomUUID().toString())
.setType(Measurement.Type.REACTIVE_POWER).setSide(ThreeSides.ONE).setValue(MEASUREMENT_Q_VALUE).setValid(MEASUREMENT_Q_VALID)
.add();
return n;
}

@Override
Expand Down Expand Up @@ -72,6 +96,14 @@ protected ModificationInfos buildModification() {
.build()))
.build())
.properties(List.of(FreePropertyInfos.builder().name(PROPERTY_NAME).value(PROPERTY_VALUE).build()))
.p1MeasurementValue(new AttributeModification<>(MEASUREMENT_P_VALUE, OperationType.SET))
.p1MeasurementValidity(new AttributeModification<>(MEASUREMENT_P_VALID, OperationType.SET))
.p2MeasurementValue(new AttributeModification<>(MEASUREMENT_P_VALUE, OperationType.SET))
.p2MeasurementValidity(new AttributeModification<>(MEASUREMENT_P_VALID, OperationType.SET))
.q1MeasurementValue(new AttributeModification<>(MEASUREMENT_Q_VALUE, OperationType.SET))
.q1MeasurementValidity(new AttributeModification<>(MEASUREMENT_Q_VALID, OperationType.SET))
.q2MeasurementValue(new AttributeModification<>(MEASUREMENT_Q_VALUE, OperationType.SET))
.q2MeasurementValidity(new AttributeModification<>(MEASUREMENT_Q_VALID, OperationType.SET))
.build();
}

Expand All @@ -96,6 +128,18 @@ protected void assertAfterNetworkModificationApplication() {
assertEquals("name32", temporaryLimit.getName());
assertEquals(42.0, temporaryLimit.getValue());
assertEquals(PROPERTY_VALUE, modifiedLine.getProperty(PROPERTY_NAME));
assertMeasurements(modifiedLine);
}

private void assertMeasurements(Line line) {
Measurements<?> measurements = (Measurements<?>) line.getExtension(Measurements.class);
assertNotNull(measurements);
Collection<Measurement> activePowerMeasurements = measurements.getMeasurements(Measurement.Type.ACTIVE_POWER).stream().toList();
assertFalse(CollectionUtils.isEmpty(activePowerMeasurements));
assertThat(activePowerMeasurements).allMatch(m -> m.getValue() == MEASUREMENT_P_VALUE && m.isValid() == MEASUREMENT_P_VALID);
Collection<Measurement> reactivePowerMeasurements = measurements.getMeasurements(Measurement.Type.REACTIVE_POWER).stream().toList();
assertFalse(CollectionUtils.isEmpty(reactivePowerMeasurements));
assertThat(reactivePowerMeasurements).allMatch(m -> m.getValue() == MEASUREMENT_Q_VALUE && m.isValid() == MEASUREMENT_Q_VALID);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

import com.powsybl.commons.report.ReportNode;
import com.powsybl.iidm.network.extensions.ConnectablePosition;
import com.powsybl.iidm.network.extensions.Measurement;
import com.powsybl.iidm.network.extensions.Measurements;
import org.apache.commons.collections4.CollectionUtils;
import org.gridsuite.modification.NetworkModificationException;
import org.gridsuite.modification.dto.*;
import org.gridsuite.modification.utils.NetworkCreation;
Expand All @@ -36,6 +39,10 @@
class TwoWindingsTransformerModificationTest extends AbstractNetworkModificationTest {
private static final String PROPERTY_NAME = "property-name";
private static final String PROPERTY_VALUE = "property-value";
private static final Double MEASUREMENT_P_VALUE = 150.0;
private static final Double MEASUREMENT_Q_VALUE = -20.0;
private static final Boolean MEASUREMENT_P_VALID = false;
private static final Boolean MEASUREMENT_Q_VALID = true;

@Override
protected Network createNetwork(UUID networkUuid) {
Expand All @@ -44,7 +51,9 @@ protected Network createNetwork(UUID networkUuid) {

@Override
protected ModificationInfos buildModification() {
return TwoWindingsTransformerModificationInfos.builder().stashed(false).equipmentId("trf1")
return TwoWindingsTransformerModificationInfos.builder()
.equipmentId("trf1")
.stashed(false)
.equipmentName(new AttributeModification<>("2wt modified name", OperationType.SET))
.r(new AttributeModification<>(1., OperationType.SET))
.x(new AttributeModification<>(2., OperationType.SET))
Expand Down Expand Up @@ -81,6 +90,10 @@ protected ModificationInfos buildModification() {
.connectionDirection2(new AttributeModification<>(ConnectablePosition.Direction.TOP, OperationType.SET))
.connectionPosition1(new AttributeModification<>(1, OperationType.SET))
.connectionPosition2(new AttributeModification<>(2, OperationType.SET))
.p1MeasurementValue(new AttributeModification<>(MEASUREMENT_P_VALUE, OperationType.SET))
.p1MeasurementValidity(new AttributeModification<>(MEASUREMENT_P_VALID, OperationType.SET))
.q1MeasurementValue(new AttributeModification<>(MEASUREMENT_Q_VALUE, OperationType.SET))
.q1MeasurementValidity(new AttributeModification<>(MEASUREMENT_Q_VALID, OperationType.SET))
.ratioTapChanger(RatioTapChangerModificationInfos.builder()
.enabled(new AttributeModification<>(true, OperationType.SET))
.loadTapChangingCapabilities(new AttributeModification<>(true, OperationType.SET))
Expand Down Expand Up @@ -174,6 +187,18 @@ protected void assertAfterNetworkModificationApplication() {
assertEquals("name32", temporaryLimit.getName());
assertEquals(42.0, temporaryLimit.getValue());
assertEquals(PROPERTY_VALUE, getNetwork().getTwoWindingsTransformer("trf1").getProperty(PROPERTY_NAME));
assertMeasurements(modifiedTwoWindingsTransformer);
}

private void assertMeasurements(TwoWindingsTransformer twt) {
Measurements<?> measurements = (Measurements<?>) twt.getExtension(Measurements.class);
assertNotNull(measurements);
Collection<Measurement> activePowerMeasurements = measurements.getMeasurements(Measurement.Type.ACTIVE_POWER).stream().toList();
assertFalse(CollectionUtils.isEmpty(activePowerMeasurements));
assertThat(activePowerMeasurements).allMatch(m -> m.getValue() == MEASUREMENT_P_VALUE && m.isValid() == MEASUREMENT_P_VALID);
Collection<Measurement> reactivePowerMeasurements = measurements.getMeasurements(Measurement.Type.REACTIVE_POWER).stream().toList();
assertFalse(CollectionUtils.isEmpty(reactivePowerMeasurements));
assertThat(reactivePowerMeasurements).allMatch(m -> m.getValue() == MEASUREMENT_Q_VALUE && m.isValid() == MEASUREMENT_Q_VALID);
}

@Override
Expand Down

0 comments on commit 388a136

Please sign in to comment.