Skip to content

Commit 7900edb

Browse files
author
LE SAULNIER Kevin
committed
test: coverage
Signed-off-by: LE SAULNIER Kevin <[email protected]>
1 parent b4fb9fa commit 7900edb

File tree

2 files changed

+59
-3
lines changed

2 files changed

+59
-3
lines changed

src/main/java/org/gridsuite/securityanalysis/server/entities/AbstractLimitViolationEntity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,13 @@ public abstract class AbstractLimitViolationEntity {
7070
@Column
7171
private String locationId;
7272

73-
public static Double computeLoading(LimitViolation limitViolation, Double limit) {
73+
protected static Double computeLoading(LimitViolation limitViolation, Double limit) {
7474
return LimitViolationType.CURRENT.equals(limitViolation.getLimitType()) && limit != null
7575
? 100 * limitViolation.getValue() / limit
7676
: null;
7777
}
7878

79-
public static Double getPatlLimit(LimitViolation limitViolation, Network network) {
79+
protected static Double getPatlLimit(LimitViolation limitViolation, Network network) {
8080
String equipmentId = limitViolation.getSubjectId();
8181
Branch<?> branch = network.getBranch(equipmentId);
8282
ThreeSides limitViolationSide = limitViolation.getSide();
@@ -91,7 +91,7 @@ public static Double getPatlLimit(LimitViolation limitViolation, Network network
9191
return null;
9292
}
9393

94-
public static String getNextLimitName(LimitViolation limitViolation, Network network) {
94+
protected static String getNextLimitName(LimitViolation limitViolation, Network network) {
9595
String equipmentId = limitViolation.getSubjectId();
9696
Branch<?> branch = network.getBranch(equipmentId);
9797
if (branch == null) {
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/**
2+
* Copyright (c) 2023, RTE (http://www.rte-france.com)
3+
* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this
5+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6+
*/
7+
package org.gridsuite.securityanalysis.server;
8+
9+
import com.powsybl.iidm.network.Network;
10+
import com.powsybl.iidm.network.TwoSides;
11+
import com.powsybl.iidm.network.test.EurostagTutorialExample1Factory;
12+
import com.powsybl.iidm.network.util.LimitViolationUtils;
13+
import com.powsybl.security.LimitViolation;
14+
import com.powsybl.security.LimitViolationBuilder;
15+
import com.powsybl.security.LimitViolationType;
16+
import org.gridsuite.securityanalysis.server.entities.ContingencyLimitViolationEntity;
17+
import org.gridsuite.securityanalysis.server.entities.SubjectLimitViolationEntity;
18+
import org.junit.jupiter.api.Test;
19+
import org.springframework.boot.test.context.SpringBootTest;
20+
21+
import static org.junit.jupiter.api.Assertions.assertEquals;
22+
23+
/**
24+
* @author Kevin Le Saulnier <kevin.lesaulnier at rte-france.com>
25+
*/
26+
@SpringBootTest
27+
class ContingencyLimitViolationTest {
28+
29+
@Test
30+
void testContingencyLimitViolationEntityNewFields() {
31+
Network network = EurostagTutorialExample1Factory.createWithFixedCurrentLimits();
32+
LimitViolation limitViolation = new LimitViolation("NHV1_NHV2_1", "NHV1_NHV2_1", LimitViolationType.CURRENT, "10'", 10 * 60, 1200, 1, 1250, TwoSides.TWO);
33+
34+
SubjectLimitViolationEntity subjectLimitViolationEntity = new SubjectLimitViolationEntity("NHV1_NHV2_1", "NHV1_NHV2_1_name");
35+
36+
ContingencyLimitViolationEntity contingencyLimitViolationEntity = ContingencyLimitViolationEntity.toEntity(network, limitViolation, subjectLimitViolationEntity);
37+
38+
assertEquals("1'", contingencyLimitViolationEntity.getNextLimitName());
39+
assertEquals(1100, contingencyLimitViolationEntity.getPatlLimit());
40+
assertEquals(100 * limitViolation.getValue() / contingencyLimitViolationEntity.getPatlLimit(), contingencyLimitViolationEntity.getPatlLoading());
41+
}
42+
43+
@Test
44+
void testContingencyLimitViolationEntityNewFieldsWithPermanentLimitReached() {
45+
Network network = EurostagTutorialExample1Factory.createWithFixedCurrentLimits();
46+
LimitViolation limitViolation = new LimitViolation("NHV1_NHV2_1", "NHV1_NHV2_1", LimitViolationType.CURRENT, LimitViolationUtils.PERMANENT_LIMIT_NAME, 10 * 60, 1100, 1, 1150, TwoSides.TWO);
47+
48+
SubjectLimitViolationEntity subjectLimitViolationEntity = new SubjectLimitViolationEntity("NHV1_NHV2_1", "NHV1_NHV2_1_name");
49+
50+
ContingencyLimitViolationEntity contingencyLimitViolationEntity = ContingencyLimitViolationEntity.toEntity(network, limitViolation, subjectLimitViolationEntity);
51+
52+
assertEquals("10'", contingencyLimitViolationEntity.getNextLimitName());
53+
assertEquals(1100, contingencyLimitViolationEntity.getPatlLimit());
54+
assertEquals(100 * limitViolation.getValue() / contingencyLimitViolationEntity.getPatlLimit(), contingencyLimitViolationEntity.getPatlLoading());
55+
}
56+
}

0 commit comments

Comments
 (0)