SecurityAnalysisExecutionInputTest.java
/**
* Copyright (c) 2019, 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.security.execution;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.ByteSource;
import com.powsybl.iidm.network.Network;
import com.powsybl.security.LimitViolationType;
import com.powsybl.security.SecurityAnalysisParameters;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import java.util.EnumSet;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author Sylvain Leclerc {@literal <sylvain.leclerc at rte-france.com>}
*/
class SecurityAnalysisExecutionInputTest {
@Test
void defaultValues() {
SecurityAnalysisExecutionInput input = new SecurityAnalysisExecutionInput();
assertFalse(input.getContingenciesSource().isPresent());
assertNull(input.getNetworkVariant());
assertNull(input.getParameters());
assertTrue(input.getViolationTypes().isEmpty());
assertTrue(input.getResultExtensions().isEmpty());
}
@Test
void setters() {
Network network = Mockito.mock(Network.class);
ByteSource source = ByteSource.wrap(new byte[0]);
SecurityAnalysisParameters params = new SecurityAnalysisParameters();
Set<String> extensions = ImmutableSet.of("ext1", "ext2");
Set<LimitViolationType> types = EnumSet.of(LimitViolationType.CURRENT);
SecurityAnalysisExecutionInput input = new SecurityAnalysisExecutionInput();
input.setNetworkVariant(network, "variantId");
input.setContingenciesSource(source);
input.setParameters(params);
input.addResultExtensions(extensions);
input.addResultExtension("ext3");
input.addViolationTypes(types);
input.addViolationType(LimitViolationType.HIGH_SHORT_CIRCUIT_CURRENT);
assertSame(network, input.getNetworkVariant().getNetwork());
assertEquals("variantId", input.getNetworkVariant().getVariantId());
assertSame(source, input.getContingenciesSource().orElseThrow(IllegalStateException::new));
assertSame(params, input.getParameters());
assertEquals(ImmutableList.of("ext1", "ext2", "ext3"), input.getResultExtensions());
assertEquals(EnumSet.of(LimitViolationType.CURRENT,
LimitViolationType.HIGH_SHORT_CIRCUIT_CURRENT),
input.getViolationTypes());
}
}