Package com.opengamma.analytics.financial.timeseries.returns

Source Code of com.opengamma.analytics.financial.timeseries.returns.SimpleNetRelativeTimeSeriesReturnCalculatorTest

/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.timeseries.returns;

import static org.testng.AssertJUnit.assertEquals;

import org.testng.annotations.Test;
import org.threeten.bp.LocalDate;

import com.opengamma.timeseries.TimeSeriesException;
import com.opengamma.timeseries.date.localdate.ImmutableLocalDateDoubleTimeSeries;
import com.opengamma.timeseries.date.localdate.LocalDateDoubleTimeSeries;

/**
*
*/
public class SimpleNetRelativeTimeSeriesReturnCalculatorTest {
  private static final TimeSeriesReturnCalculator STRICT_CALCULATOR = TimeSeriesReturnCalculatorFactory
      .getReturnCalculator(TimeSeriesReturnCalculatorFactory.SIMPLE_NET_RELATIVE_STRICT);
  private static final TimeSeriesReturnCalculator LENIENT_CALCULATOR = TimeSeriesReturnCalculatorFactory
      .getReturnCalculator(TimeSeriesReturnCalculatorFactory.SIMPLE_NET_RELATIVE_LENIENT);
  private static final LocalDateDoubleTimeSeries TS1 = ImmutableLocalDateDoubleTimeSeries.of(new LocalDate[] {LocalDate.ofEpochDay(1), LocalDate.ofEpochDay(2),
                                                                                                           LocalDate.ofEpochDay(3), LocalDate.ofEpochDay(4),
                                                                                                           LocalDate.ofEpochDay(5) },
                                                                                          new double[] {1, 2, 3, 4, 5});
  private static final LocalDateDoubleTimeSeries TS2 = ImmutableLocalDateDoubleTimeSeries.of(new LocalDate[] {LocalDate.ofEpochDay(1), LocalDate.ofEpochDay(2),
                                                                                                           LocalDate.ofEpochDay(3), LocalDate.ofEpochDay(4),
                                                                                                           LocalDate.ofEpochDay(5) },
                                                                                          new double[] {2, 4, 6, 8, 10});
  private static final LocalDateDoubleTimeSeries TS3 = ImmutableLocalDateDoubleTimeSeries.of(new LocalDate[] {LocalDate.ofEpochDay(1), LocalDate.ofEpochDay(2),
                                                                                                           LocalDate.ofEpochDay(3), LocalDate.ofEpochDay(4),
                                                                                                           LocalDate.ofEpochDay(6) },
                                                                                          new double[] {2, 4, 6, 8, 10});

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void testNullArray() {
    STRICT_CALCULATOR.evaluate((LocalDateDoubleTimeSeries[]) null);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void testNullFirstElement() {
    STRICT_CALCULATOR.evaluate(null, TS2);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void testNullSecondElement() {
    STRICT_CALCULATOR.evaluate(TS1, null);
  }

  @Test(expectedExceptions = TimeSeriesException.class)
  public void testDifferentDates() {
    STRICT_CALCULATOR.evaluate(TS1, TS3);
  }

  @Test
  public void testStrict() {
    final LocalDateDoubleTimeSeries result = STRICT_CALCULATOR.evaluate(TS1, TS2);
    assertEquals(result.size(), 5);
    assertEquals(result, ImmutableLocalDateDoubleTimeSeries.of(new LocalDate[] { LocalDate.ofEpochDay(1), LocalDate.ofEpochDay(2),
                                                                              LocalDate.ofEpochDay(3), LocalDate.ofEpochDay(4),
                                                                              LocalDate.ofEpochDay(5) },
                                                            new double[] {-0.5, -0.5, -0.5, -0.5, -0.5}));
  }

  @Test
  public void testLenient() {
    final LocalDateDoubleTimeSeries result = LENIENT_CALCULATOR.evaluate(TS1, TS3);
    assertEquals(result.size(), 4);
    assertEquals(result, ImmutableLocalDateDoubleTimeSeries.of(new LocalDate[] { LocalDate.ofEpochDay(1), LocalDate.ofEpochDay(2),
                                                                              LocalDate.ofEpochDay(3), LocalDate.ofEpochDay(4)},
                                                            new double[] {-0.5, -0.5, -0.5, -0.5}));
  }
}
TOP

Related Classes of com.opengamma.analytics.financial.timeseries.returns.SimpleNetRelativeTimeSeriesReturnCalculatorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.