Skip to content

Commit 3d4a9be

Browse files
committed
move extensions test
Signed-off-by: Samir Romdhani <samir.romdhani_externe@rte-france.com>
1 parent 5d69a7c commit 3d4a9be

File tree

4 files changed

+143
-187
lines changed

4 files changed

+143
-187
lines changed

iidm/iidm-impl/src/test/java/com/powsybl/iidm/network/impl/tck/extensions/LoadDetailTest.java

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -8,61 +8,9 @@
88

99
package com.powsybl.iidm.network.impl.tck.extensions;
1010

11-
import com.powsybl.iidm.network.*;
12-
import com.powsybl.iidm.network.extensions.LoadDetailAdder;
1311
import com.powsybl.iidm.network.tck.extensions.AbstractLoadDetailTest;
14-
import org.junit.jupiter.api.Test;
15-
16-
import java.time.ZonedDateTime;
17-
18-
import static org.junit.jupiter.api.Assertions.*;
1912

2013
/**
2114
* @author Mathieu Bague {@literal <mathieu.bague@rte-france.com>}
2215
*/
23-
class LoadDetailTest extends AbstractLoadDetailTest {
24-
25-
private static Network createNetwork() {
26-
Network network = Network.create("test", "test");
27-
network.setCaseDate(ZonedDateTime.parse("2016-06-27T12:27:58.535+02:00"));
28-
Substation s = network.newSubstation()
29-
.setId("S")
30-
.setCountry(Country.FR)
31-
.add();
32-
VoltageLevel vl = s.newVoltageLevel()
33-
.setId("VL")
34-
.setNominalV(400)
35-
.setTopologyKind(TopologyKind.BUS_BREAKER)
36-
.add();
37-
vl.getBusBreakerView().newBus()
38-
.setId("B")
39-
.add();
40-
vl.newLoad()
41-
.setId("L")
42-
.setBus("B")
43-
.setConnectableBus("B")
44-
.setP0(100)
45-
.setQ0(50)
46-
.add();
47-
return network;
48-
}
49-
50-
@Test
51-
void checkVoltageConfigTest() {
52-
Network network = createNetwork();
53-
Load load = network.getLoad("L");
54-
assertNotNull(load);
55-
56-
// Builder
57-
LoadDetailAdder loadDetailAdder = load.newExtension(LoadDetailAdder.class)
58-
.withFixedActivePower(40f)
59-
.withFixedReactivePower(20f)
60-
.withVariableActivePower(60f)
61-
.withVariableReactivePower(Double.NaN);
62-
63-
// VariableReactivePower invalid
64-
IllegalArgumentException e0 = assertThrows(IllegalArgumentException.class, loadDetailAdder::add);
65-
assertEquals("Invalid variableReactivePower (NaN) for load L",
66-
e0.getMessage());
67-
}
68-
}
16+
class LoadDetailTest extends AbstractLoadDetailTest { }

iidm/iidm-impl/src/test/java/com/powsybl/iidm/network/impl/tck/extensions/StandbyAutomatonTest.java

Lines changed: 1 addition & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -7,138 +7,9 @@
77
*/
88
package com.powsybl.iidm.network.impl.tck.extensions;
99

10-
import com.powsybl.commons.report.PowsyblCoreReportResourceBundle;
11-
import com.powsybl.commons.report.ReportNode;
12-
import com.powsybl.iidm.network.Network;
13-
import com.powsybl.iidm.network.StaticVarCompensator;
14-
import com.powsybl.iidm.network.ValidationException;
15-
import com.powsybl.iidm.network.extensions.StandbyAutomaton;
16-
import com.powsybl.iidm.network.extensions.StandbyAutomatonAdder;
1710
import com.powsybl.iidm.network.tck.extensions.AbstractStandbyAutomatonTest;
18-
import com.powsybl.iidm.network.test.SvcTestCaseFactory;
19-
20-
import org.junit.jupiter.api.Test;
21-
22-
import static org.junit.jupiter.api.Assertions.*;
2311

2412
/**
2513
* @author Anne Tilloy {@literal <anne.tilloy at rte-france.com>}
2614
*/
27-
class StandbyAutomatonTest extends AbstractStandbyAutomatonTest {
28-
29-
@Test
30-
void checkVoltageConfigTest() {
31-
Network network = SvcTestCaseFactory.create();
32-
StaticVarCompensator svc = network.getStaticVarCompensator("SVC2");
33-
assertNotNull(svc);
34-
35-
// Builder
36-
StandbyAutomatonAdder standbyAutomatonAdder = svc.newExtension(StandbyAutomatonAdder.class)
37-
.withB0(0.0001f)
38-
.withStandbyStatus(true);
39-
40-
// LowVoltageThreshold > HighVoltageThreshold
41-
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
42-
.withHighVoltageSetpoint(345f)
43-
.withLowVoltageThreshold(385f)
44-
.withHighVoltageThreshold(350f);
45-
ValidationException e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
46-
assertEquals("Static var compensator 'SVC2': Inconsistent low (385.0) and high (350.0) voltage thresholds",
47-
e0.getMessage());
48-
49-
// lowVoltageSetpoint invalid
50-
standbyAutomatonAdder.withLowVoltageSetpoint(Double.NaN)
51-
.withHighVoltageSetpoint(400f)
52-
.withLowVoltageThreshold(385f)
53-
.withHighVoltageThreshold(405f);
54-
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
55-
assertEquals("Static var compensator 'SVC2': low voltage setpoint (NaN) is invalid",
56-
e0.getMessage());
57-
58-
// highVoltageSetpoint invalid
59-
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
60-
.withHighVoltageSetpoint(Double.NaN)
61-
.withLowVoltageThreshold(385f)
62-
.withHighVoltageThreshold(405f);
63-
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
64-
assertEquals("Static var compensator 'SVC2': high voltage setpoint (NaN) is invalid",
65-
e0.getMessage());
66-
67-
// lowVoltageSetpoint invalid
68-
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
69-
.withHighVoltageSetpoint(400f)
70-
.withLowVoltageThreshold(Double.NaN)
71-
.withHighVoltageThreshold(405f);
72-
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
73-
assertEquals("Static var compensator 'SVC2': low voltage threshold (NaN) is invalid",
74-
e0.getMessage());
75-
76-
// highVoltageSetpoint invalid
77-
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
78-
.withHighVoltageSetpoint(400f)
79-
.withLowVoltageThreshold(385f)
80-
.withHighVoltageThreshold(Double.NaN);
81-
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
82-
assertEquals("Static var compensator 'SVC2': high voltage threshold (NaN) is invalid",
83-
e0.getMessage());
84-
}
85-
86-
@Test
87-
void reportNodeTests() {
88-
89-
ReportNode reportRoot = ReportNode.newRootReportNode()
90-
.withResourceBundles(PowsyblCoreReportResourceBundle.BASE_NAME)
91-
.withMessageTemplate("test")
92-
.build();
93-
94-
// Prepare the test
95-
Network network = SvcTestCaseFactory.create();
96-
network.getReportNodeContext().pushReportNode(reportRoot);
97-
StaticVarCompensator svc = network.getStaticVarCompensator("SVC2");
98-
assertNotNull(svc);
99-
100-
// Builder
101-
StandbyAutomatonAdder standbyAutomatonAdder = svc.newExtension(StandbyAutomatonAdder.class)
102-
.withB0(0.0001f)
103-
.withStandbyStatus(false);
104-
105-
// lowVoltageSetpoint < lowVoltageThreshold
106-
standbyAutomatonAdder.withLowVoltageSetpoint(380f)
107-
.withHighVoltageSetpoint(400f)
108-
.withLowVoltageThreshold(385f)
109-
.withHighVoltageThreshold(405f)
110-
.add();
111-
112-
StandbyAutomaton standbyAutomaton = svc.getExtension(StandbyAutomaton.class);
113-
assertNotNull(standbyAutomaton);
114-
assertEquals(380f, standbyAutomaton.getLowVoltageSetpoint(), 0.0);
115-
assertEquals(400f, standbyAutomaton.getHighVoltageSetpoint(), 0.0);
116-
assertEquals(385f, standbyAutomaton.getLowVoltageThreshold(), 0.0);
117-
assertEquals(405f, standbyAutomaton.getHighVoltageThreshold(), 0.0);
118-
119-
// highVoltageSetpoint > highVoltageThreshold
120-
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
121-
.withHighVoltageSetpoint(410f)
122-
.withLowVoltageThreshold(385f)
123-
.withHighVoltageThreshold(405f)
124-
.add();
125-
126-
// lowVoltageThreshold > highVoltageThreshold
127-
standbyAutomatonAdder.withLowVoltageSetpoint(410f)
128-
.withHighVoltageSetpoint(380f)
129-
.withLowVoltageThreshold(400f)
130-
.withHighVoltageThreshold(385f)
131-
.add();
132-
133-
ReportNode reportNode = svc.getNetwork().getReportNodeContext().getReportNode();
134-
assertEquals(3, reportNode.getChildren().size());
135-
assertEquals("Static VAR compensator 'SVC2': invalid low voltage setpoint (380.0) < threshold (385.0)",
136-
reportNode.getChildren().get(0).getMessage());
137-
138-
assertEquals("Static VAR compensator 'SVC2': invalid high voltage setpoint (410.0) > threshold (405.0)",
139-
reportNode.getChildren().get(1).getMessage());
140-
141-
assertEquals("Static VAR compensator 'SVC2': inconsistent low (400.0) and high (385.0) voltage thresholds",
142-
reportNode.getChildren().get(2).getMessage());
143-
}
144-
}
15+
class StandbyAutomatonTest extends AbstractStandbyAutomatonTest { }

iidm/iidm-tck/src/test/java/com/powsybl/iidm/network/tck/extensions/AbstractLoadDetailTest.java

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818
import java.util.List;
1919

2020
import static com.powsybl.iidm.network.VariantManagerConstants.INITIAL_VARIANT_ID;
21-
import static org.junit.jupiter.api.Assertions.assertEquals;
22-
import static org.junit.jupiter.api.Assertions.assertNotNull;
23-
import static org.junit.jupiter.api.Assertions.fail;
21+
import static org.junit.jupiter.api.Assertions.*;
2422

2523
/**
2624
* @author Miora Ralambotiana {@literal <miora.ralambotiana at rte-france.com>}
@@ -53,13 +51,17 @@ private static Network createTestNetwork() {
5351
// extends load
5452
Load load = network.getLoad("L");
5553
assertNotNull(load);
54+
addLoadDetail(load);
55+
return network;
56+
}
57+
58+
private static void addLoadDetail(Load load) {
5659
load.newExtension(LoadDetailAdder.class)
5760
.withFixedActivePower(40f)
5861
.withFixedReactivePower(20f)
5962
.withVariableActivePower(60f)
6063
.withVariableReactivePower(30f)
6164
.add();
62-
return network;
6365
}
6466

6567
@Test
@@ -140,4 +142,23 @@ public void variantsCloneTest() {
140142
assertEquals("Variant index not set", e.getMessage());
141143
}
142144
}
145+
146+
@Test
147+
void checkVoltageConfigTest() {
148+
Network network = createTestNetwork();
149+
Load load = network.getLoad("L");
150+
assertNotNull(load);
151+
152+
// Builder
153+
LoadDetailAdder loadDetailAdder = load.newExtension(LoadDetailAdder.class)
154+
.withFixedActivePower(40f)
155+
.withFixedReactivePower(20f)
156+
.withVariableActivePower(60f)
157+
.withVariableReactivePower(Double.NaN);
158+
159+
// VariableReactivePower invalid
160+
IllegalArgumentException e0 = assertThrows(IllegalArgumentException.class, loadDetailAdder::add);
161+
assertEquals("Invalid variableReactivePower (NaN) for load L",
162+
e0.getMessage());
163+
}
143164
}

iidm/iidm-tck/src/test/java/com/powsybl/iidm/network/tck/extensions/AbstractStandbyAutomatonTest.java

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
package com.powsybl.iidm.network.tck.extensions;
99

1010
import com.powsybl.commons.PowsyblException;
11+
import com.powsybl.commons.report.PowsyblCoreReportResourceBundle;
12+
import com.powsybl.commons.report.ReportNode;
1113
import com.powsybl.iidm.network.Network;
1214
import com.powsybl.iidm.network.StaticVarCompensator;
1315
import com.powsybl.iidm.network.ValidationException;
@@ -173,4 +175,118 @@ public void variantsCloneTest() {
173175
assertEquals("Variant index not set", e.getMessage());
174176
}
175177
}
178+
179+
@Test
180+
void checkVoltageConfigTest() {
181+
Network network = SvcTestCaseFactory.create();
182+
StaticVarCompensator svc = network.getStaticVarCompensator("SVC2");
183+
assertNotNull(svc);
184+
185+
// Builder
186+
StandbyAutomatonAdder standbyAutomatonAdder = svc.newExtension(StandbyAutomatonAdder.class)
187+
.withB0(0.0001f)
188+
.withStandbyStatus(true);
189+
190+
// LowVoltageThreshold > HighVoltageThreshold
191+
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
192+
.withHighVoltageSetpoint(345f)
193+
.withLowVoltageThreshold(385f)
194+
.withHighVoltageThreshold(350f);
195+
ValidationException e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
196+
assertEquals("Static var compensator 'SVC2': Inconsistent low (385.0) and high (350.0) voltage thresholds",
197+
e0.getMessage());
198+
199+
// lowVoltageSetpoint invalid
200+
standbyAutomatonAdder.withLowVoltageSetpoint(Double.NaN)
201+
.withHighVoltageSetpoint(400f)
202+
.withLowVoltageThreshold(385f)
203+
.withHighVoltageThreshold(405f);
204+
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
205+
assertEquals("Static var compensator 'SVC2': low voltage setpoint (NaN) is invalid",
206+
e0.getMessage());
207+
208+
// highVoltageSetpoint invalid
209+
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
210+
.withHighVoltageSetpoint(Double.NaN)
211+
.withLowVoltageThreshold(385f)
212+
.withHighVoltageThreshold(405f);
213+
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
214+
assertEquals("Static var compensator 'SVC2': high voltage setpoint (NaN) is invalid",
215+
e0.getMessage());
216+
217+
// lowVoltageSetpoint invalid
218+
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
219+
.withHighVoltageSetpoint(400f)
220+
.withLowVoltageThreshold(Double.NaN)
221+
.withHighVoltageThreshold(405f);
222+
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
223+
assertEquals("Static var compensator 'SVC2': low voltage threshold (NaN) is invalid",
224+
e0.getMessage());
225+
226+
// highVoltageSetpoint invalid
227+
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
228+
.withHighVoltageSetpoint(400f)
229+
.withLowVoltageThreshold(385f)
230+
.withHighVoltageThreshold(Double.NaN);
231+
e0 = assertThrows(ValidationException.class, standbyAutomatonAdder::add);
232+
assertEquals("Static var compensator 'SVC2': high voltage threshold (NaN) is invalid",
233+
e0.getMessage());
234+
}
235+
236+
@Test
237+
void reportNodeTests() {
238+
ReportNode reportRoot = ReportNode.newRootReportNode()
239+
.withResourceBundles(PowsyblCoreReportResourceBundle.BASE_NAME)
240+
.withMessageTemplate("test")
241+
.build();
242+
// Prepare the test
243+
Network network = SvcTestCaseFactory.create();
244+
network.getReportNodeContext().pushReportNode(reportRoot);
245+
StaticVarCompensator svc = network.getStaticVarCompensator("SVC2");
246+
assertNotNull(svc);
247+
248+
// Builder
249+
StandbyAutomatonAdder standbyAutomatonAdder = svc.newExtension(StandbyAutomatonAdder.class)
250+
.withB0(0.0001f)
251+
.withStandbyStatus(false);
252+
253+
// lowVoltageSetpoint < lowVoltageThreshold
254+
standbyAutomatonAdder.withLowVoltageSetpoint(380f)
255+
.withHighVoltageSetpoint(400f)
256+
.withLowVoltageThreshold(385f)
257+
.withHighVoltageThreshold(405f)
258+
.add();
259+
260+
StandbyAutomaton standbyAutomaton = svc.getExtension(StandbyAutomaton.class);
261+
assertNotNull(standbyAutomaton);
262+
assertEquals(380f, standbyAutomaton.getLowVoltageSetpoint(), 0.0);
263+
assertEquals(400f, standbyAutomaton.getHighVoltageSetpoint(), 0.0);
264+
assertEquals(385f, standbyAutomaton.getLowVoltageThreshold(), 0.0);
265+
assertEquals(405f, standbyAutomaton.getHighVoltageThreshold(), 0.0);
266+
267+
// highVoltageSetpoint > highVoltageThreshold
268+
standbyAutomatonAdder.withLowVoltageSetpoint(390f)
269+
.withHighVoltageSetpoint(410f)
270+
.withLowVoltageThreshold(385f)
271+
.withHighVoltageThreshold(405f)
272+
.add();
273+
274+
// lowVoltageThreshold > highVoltageThreshold
275+
standbyAutomatonAdder.withLowVoltageSetpoint(410f)
276+
.withHighVoltageSetpoint(380f)
277+
.withLowVoltageThreshold(400f)
278+
.withHighVoltageThreshold(385f)
279+
.add();
280+
281+
ReportNode reportNode = svc.getNetwork().getReportNodeContext().getReportNode();
282+
assertEquals(3, reportNode.getChildren().size());
283+
assertEquals("Static VAR compensator 'SVC2': invalid low voltage setpoint (380.0) < threshold (385.0)",
284+
reportNode.getChildren().get(0).getMessage());
285+
286+
assertEquals("Static VAR compensator 'SVC2': invalid high voltage setpoint (410.0) > threshold (405.0)",
287+
reportNode.getChildren().get(1).getMessage());
288+
289+
assertEquals("Static VAR compensator 'SVC2': inconsistent low (400.0) and high (385.0) voltage thresholds",
290+
reportNode.getChildren().get(2).getMessage());
291+
}
176292
}

0 commit comments

Comments
 (0)