CgmaExchangesTest.java
/*
* Copyright (c) 2021, 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/.
*/
package com.powsybl.entsoe.cgmes.balances_adjustment.data_exchange;
import com.powsybl.timeseries.DoubleTimeSeries;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*;
/**
* Common Grid Model Alignment.
* Check XML parsing.
*
* @author Thomas Adam {@literal <tadam at silicom.fr>}
*/
class CgmaExchangesTest {
private DataExchanges exchanges;
@BeforeEach
void setUp() {
exchanges = DataExchangesXml.parse(getClass().getResourceAsStream("/testCGMAMarketDocument_2-0.xml"));
}
@Test
void baseTests() {
// Getters
assertEquals(StandardProcessType.A45, exchanges.getProcessType());
assertEquals(Optional.of("OptimisationArea"), exchanges.getDomainId());
assertEquals(Optional.of(StandardCodingSchemeType.A01), exchanges.getDomainCodingScheme());
assertEquals(StandardRoleType.A39, exchanges.getSenderMarketRole());
}
@Test
void timeSeriesTests() {
// Time Series
DoubleTimeSeries timeSeries1 = exchanges.getTimeSeries("TimeSeries1");
// TimeSeries1 : Check metadata
assertEquals("B65", timeSeries1.getMetadata().getTags().get("businessType"));
assertEquals("A32", timeSeries1.getMetadata().getTags().get("marketObjectStatus.status"));
assertEquals("A02", timeSeries1.getMetadata().getTags().get("curveType"));
}
@Test
void coverageTests() {
// StandardProcessType
assertEquals("Two days ahead", StandardProcessType.A45.getDescription());
// StandardRoleType
assertEquals("Data provider", StandardRoleType.A39.getDescription());
}
}