diff --git a/src/main/java/edu/ie3/datamodel/models/input/container/JointGridContainer.java b/src/main/java/edu/ie3/datamodel/models/input/container/JointGridContainer.java index 65bca70c0..022c9d202 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/container/JointGridContainer.java +++ b/src/main/java/edu/ie3/datamodel/models/input/container/JointGridContainer.java @@ -5,16 +5,19 @@ */ package edu.ie3.datamodel.models.input.container; -import edu.ie3.datamodel.exceptions.InvalidGridException; import edu.ie3.datamodel.graph.SubGridTopologyGraph; import edu.ie3.datamodel.utils.ContainerUtils; import java.util.Objects; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** Model class to hold input models for more than one galvanically separated subnet */ public class JointGridContainer extends GridContainer { /** A graph describing the subnet dependencies */ private final SubGridTopologyGraph subGridTopologyGraph; + private static final Logger logger = LoggerFactory.getLogger(JointGridContainer.class); + public JointGridContainer( String gridName, RawGridElements rawGrid, @@ -46,9 +49,10 @@ public JointGridContainer( * @param subGridTopologyGraph The graph to check */ private void checkSubGridTopologyGraph(SubGridTopologyGraph subGridTopologyGraph) { - if (subGridTopologyGraph.vertexSet().size() == 1) - throw new InvalidGridException( + if (subGridTopologyGraph.vertexSet().size() == 1) { + logger.warn( "This joint grid model only contains one single grid. Consider using SubGridContainer."); + } } public SubGridTopologyGraph getSubGridTopologyGraph() { diff --git a/src/test/groovy/edu/ie3/datamodel/models/input/container/JointGridContainerTest.groovy b/src/test/groovy/edu/ie3/datamodel/models/input/container/JointGridContainerTest.groovy new file mode 100644 index 000000000..24859f48d --- /dev/null +++ b/src/test/groovy/edu/ie3/datamodel/models/input/container/JointGridContainerTest.groovy @@ -0,0 +1,46 @@ +/* + * © 2021. TU Dortmund University, + * Institute of Energy Systems, Energy Efficiency and Energy Economics, + * Research group Distribution grid planning and operation + */ +package edu.ie3.datamodel.models.input.container + +import edu.ie3.test.common.GridTestData +import spock.lang.Specification + +class JointGridContainerTest extends Specification { + private static final GRID_NAME = "single_grid" + + private static final RawGridElements RAW_GRID = new RawGridElements( + [GridTestData.nodeA] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set) + + private static final SystemParticipants SYSTEM_PARTICIPANTS = new SystemParticipants( + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set, + [] as Set) + + private static final GraphicElements GRAPHIC_ELEMENTS = new GraphicElements( + [] as Set, + [] as Set) + + def "A single subgrid can be used to build a JointGridContainer"() { + when: + def jointGridContainer = new JointGridContainer(GRID_NAME, RAW_GRID, SYSTEM_PARTICIPANTS, GRAPHIC_ELEMENTS) + + then: + noExceptionThrown() + jointGridContainer.subGridTopologyGraph.vertexSet().size() == 1 + } +}