/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.timeseries.analysis; import static org.testng.AssertJUnit.assertEquals; import org.testng.annotations.Test; import com.opengamma.analytics.math.function.Function; import com.opengamma.analytics.math.function.Function1D; import com.opengamma.analytics.math.statistics.descriptive.MeanCalculator; import com.opengamma.timeseries.DoubleTimeSeries; import com.opengamma.timeseries.precise.instant.ImmutableInstantDoubleTimeSeries; import com.opengamma.util.test.TestGroup; /** * Test. */ @Test(groups = TestGroup.UNIT) public class DoubleTimeSeriesStatisticsCalculatorTest { private static final Function1D<double[], Double> MEAN = new MeanCalculator(); private static final Function<DoubleTimeSeries<?>, Double> CALC = new DoubleTimeSeriesStatisticsCalculator(MEAN); private static final double X = 1.23; private static final DoubleTimeSeries<?> TS = ImmutableInstantDoubleTimeSeries.of(new long[] {1, 2, 3, 4, 5}, new double[] {X, X, X, X, X}); @Test(expectedExceptions = IllegalArgumentException.class) public void testConstructor() { new DoubleTimeSeriesStatisticsCalculator(null); } @Test(expectedExceptions = IllegalArgumentException.class) public void testNullTS() { CALC.evaluate((DoubleTimeSeries<?>) null); } @Test(expectedExceptions = IllegalArgumentException.class) public void testEmptyTS() { CALC.evaluate(ImmutableInstantDoubleTimeSeries.EMPTY_SERIES); } @Test(expectedExceptions = IllegalArgumentException.class) public void testNullTSInArray() { CALC.evaluate(TS, null, TS); } @Test public void test() { assertEquals(CALC.evaluate(TS), MEAN.evaluate(TS.valuesArrayFast()), 1e-15); } }