BuilderEquipmentSetterTest.java
/**
* Copyright (c) 2024, RTE (http://www.rte-france.com/)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* SPDX-License-Identifier: MPL-2.0
*/
package com.powsybl.dynawo.models;
import com.powsybl.commons.report.ReportNode;
import com.powsybl.commons.test.PowsyblCoreTestReportResourceBundle;
import com.powsybl.commons.test.TestUtil;
import com.powsybl.dynawo.commons.PowsyblDynawoReportResourceBundle;
import com.powsybl.dynawo.models.lines.LineBuilder;
import com.powsybl.iidm.network.Line;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.test.PhaseShifterTestCaseFactory;
import com.powsybl.iidm.network.test.SvcTestCaseFactory;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.io.StringWriter;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author Laurent Issertial {@literal <laurent.issertial at rte-france.com>}
*/
class BuilderEquipmentSetterTest {
@Test
void addEquipmentFromAnotherNetwork() throws IOException {
Network network = SvcTestCaseFactory.create();
Line ln1 = network.getLine("L1");
Network network2 = PhaseShifterTestCaseFactory.create();
Line ln2 = network2.getLine("L1");
ReportNode reportNode = ReportNode.newRootReportNode()
.withResourceBundles(PowsyblDynawoReportResourceBundle.BASE_NAME,
PowsyblCoreTestReportResourceBundle.TEST_BASE_NAME)
.withMessageTemplate("testBuilder")
.build();
BlackBoxModel bbmNetwork1 = LineBuilder.of(network)
.equipment(ln1)
.parameterSetId("sl")
.build();
BlackBoxModel bbmNetwork2 = LineBuilder.of(network, reportNode)
.equipment(ln2)
.parameterSetId("sl")
.build();
assertNotNull(bbmNetwork1);
assertNull(bbmNetwork2);
StringWriter sw = new StringWriter();
reportNode.print(sw);
assertEquals("""
+ Builder tests
+ Model Line L1 instantiation KO
'equipment' field value LINE L1 does not belong to the builder network
""",
TestUtil.normalizeLineSeparator(sw.toString()));
}
}