ReadOnlyTimeSeriesStoreAggregatorTest.java
/**
* Copyright (c) 2018, All partners of the iTesla project (http://www.itesla-project.eu/consortium)
* 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.timeseries;
import com.google.common.collect.Sets;
import org.junit.jupiter.api.Test;
import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collections;
import static org.junit.jupiter.api.Assertions.*;
/**
*
* @author Geoffroy Jamgotchian {@literal <geoffroy.jamgotchian at rte-france.com>}
*/
class ReadOnlyTimeSeriesStoreAggregatorTest {
@Test
void test() {
TimeSeriesIndex index = new RegularTimeSeriesIndex(Instant.ofEpochMilli(10000), Instant.ofEpochMilli(10001), Duration.ofMillis(1));
DoubleTimeSeries ts1 = TimeSeries.createDouble("ts1", index, 1d, 2d);
DoubleTimeSeries ts2 = TimeSeries.createDouble("ts2", index, 3d, 4d);
ReadOnlyTimeSeriesStore store1 = new ReadOnlyTimeSeriesStoreCache(ts1);
ReadOnlyTimeSeriesStore store2 = new ReadOnlyTimeSeriesStoreCache(ts2);
ReadOnlyTimeSeriesStore store12 = new ReadOnlyTimeSeriesStoreAggregator(store1, store2);
assertEquals(Sets.newHashSet("ts2", "ts1"), store12.getTimeSeriesNames(null));
assertTrue(store12.timeSeriesExists("ts1"));
assertFalse(store12.timeSeriesExists("ts3"));
assertEquals(new TimeSeriesMetadata("ts1", TimeSeriesDataType.DOUBLE, index), store12.getTimeSeriesMetadata("ts1").orElseThrow(IllegalStateException::new));
assertEquals(Arrays.asList(new TimeSeriesMetadata("ts1", TimeSeriesDataType.DOUBLE, index),
new TimeSeriesMetadata("ts2", TimeSeriesDataType.DOUBLE, index)),
store12.getTimeSeriesMetadata(Sets.newHashSet("ts1", "ts2")));
assertEquals(Collections.emptySet(), store12.getTimeSeriesDataVersions());
assertEquals(Collections.emptySet(), store12.getTimeSeriesDataVersions("ts1"));
assertSame(ts1, store12.getDoubleTimeSeries("ts1", 1).orElseThrow(IllegalStateException::new));
assertFalse(store12.getDoubleTimeSeries("ts3", 1).isPresent());
assertEquals(Arrays.asList(ts1, ts2), store12.getDoubleTimeSeries(Sets.newHashSet("ts1", "ts2"), 1));
assertEquals(Arrays.asList(ts1, ts2), store12.getDoubleTimeSeries(1));
assertFalse(store12.getStringTimeSeries("ts3", 1).isPresent());
assertTrue(store12.getStringTimeSeries(Collections.singleton("ts3"), 1).isEmpty());
}
}