Skip to content

Commit 836902e

Browse files
author
LE SAULNIER Kevin
committed
test: more coverage
Signed-off-by: LE SAULNIER Kevin <[email protected]>
1 parent 78bd55e commit 836902e

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

src/test/java/org/gridsuite/securityanalysis/server/ContingencyLimitViolationTest.java

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import org.junit.jupiter.api.Test;
1818
import org.springframework.boot.test.context.SpringBootTest;
1919

20+
import static com.powsybl.iidm.network.test.EurostagTutorialExample1Factory.NGEN_NHV1;
21+
import static com.powsybl.iidm.network.test.EurostagTutorialExample1Factory.NHV1_NHV2_1;
2022
import static org.junit.jupiter.api.Assertions.assertEquals;
2123

2224
/**
@@ -50,11 +52,48 @@ void testContingencyLimitViolationEntityNewFieldsWithLimitReductionEffective() {
5052
testContingencyLimitViolationMapping("10'", 60, 1200, 0.8, 1150, TwoSides.TWO, "1'", 1100, 10 * 60, 60);
5153
}
5254

55+
@Test
56+
void test2wtContingencyLimitViolationEntityNewFieldsWithLimitReductionEffective() {
57+
// for this test to be relevant, "value" needs to be less that "limit"
58+
Network network = EurostagTutorialExample1Factory.createWithFixedCurrentLimits();
59+
// create limit set for two windings transformer
60+
network.getTwoWindingsTransformer(NGEN_NHV1).getOrCreateSelectedOperationalLimitsGroup1().newCurrentLimits()
61+
.setPermanentLimit(100)
62+
.beginTemporaryLimit()
63+
.setName("10'")
64+
.setValue(200)
65+
.setAcceptableDuration(60 * 10)
66+
.endTemporaryLimit()
67+
.beginTemporaryLimit()
68+
.setName("1'")
69+
.setValue(300)
70+
.setAcceptableDuration(60)
71+
.endTemporaryLimit()
72+
.beginTemporaryLimit()
73+
.setName("N/A")
74+
.setValue(Double.MAX_VALUE)
75+
.setAcceptableDuration(0)
76+
.endTemporaryLimit()
77+
.add();
78+
79+
LimitViolation limitViolation = new LimitViolation(NGEN_NHV1, "NGEN_NHV1_name", LimitViolationType.CURRENT, "10'", 60, 200, 0.8, 180, TwoSides.ONE);
80+
81+
SubjectLimitViolationEntity subjectLimitViolationEntity = new SubjectLimitViolationEntity(NGEN_NHV1, "NGEN_NHV1_name");
82+
83+
ContingencyLimitViolationEntity contingencyLimitViolationEntity = ContingencyLimitViolationEntity.toEntity(network, limitViolation, subjectLimitViolationEntity);
84+
85+
assertEquals("1'", contingencyLimitViolationEntity.getNextLimitName());
86+
assertEquals(100, contingencyLimitViolationEntity.getPatlLimit());
87+
assertEquals(60 * 10, contingencyLimitViolationEntity.getAcceptableDuration());
88+
assertEquals(60, contingencyLimitViolationEntity.getUpcomingAcceptableDuration());
89+
assertEquals(100 * limitViolation.getValue() / contingencyLimitViolationEntity.getPatlLimit(), contingencyLimitViolationEntity.getPatlLoading());
90+
}
91+
5392
private void testContingencyLimitViolationMapping(String limitName, int acceptableDuration, double limit, double limitReduction, double value, TwoSides side, String expectedNextLimitName, long expectedPatlLimit, Integer expectedAcceptableDuration, Integer expectedUpcomingAcceptableDuration) {
5493
Network network = EurostagTutorialExample1Factory.createWithFixedCurrentLimits();
55-
LimitViolation limitViolation = new LimitViolation("NHV1_NHV2_1", "NHV1_NHV2_1_name", LimitViolationType.CURRENT, limitName, acceptableDuration, limit, limitReduction, value, side);
94+
LimitViolation limitViolation = new LimitViolation(NHV1_NHV2_1, "NHV1_NHV2_1_name", LimitViolationType.CURRENT, limitName, acceptableDuration, limit, limitReduction, value, side);
5695

57-
SubjectLimitViolationEntity subjectLimitViolationEntity = new SubjectLimitViolationEntity("NHV1_NHV2_1", "NHV1_NHV2_1_name");
96+
SubjectLimitViolationEntity subjectLimitViolationEntity = new SubjectLimitViolationEntity(NHV1_NHV2_1, "NHV1_NHV2_1_name");
5897

5998
ContingencyLimitViolationEntity contingencyLimitViolationEntity = ContingencyLimitViolationEntity.toEntity(network, limitViolation, subjectLimitViolationEntity);
6099

0 commit comments

Comments
 (0)