/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.util.fudgemsg.timeseries; import static org.testng.AssertJUnit.assertEquals; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.threeten.bp.LocalDate; import com.opengamma.timeseries.DoubleTimeSeries; import com.opengamma.timeseries.date.DateDoubleTimeSeries; import com.opengamma.timeseries.date.localdate.ImmutableLocalDateDoubleTimeSeries; import com.opengamma.timeseries.date.localdate.LocalDateDoubleTimeSeries; import com.opengamma.util.test.AbstractFudgeBuilderTestCase; import com.opengamma.util.test.TestGroup; /** * Test Fudge encoding. */ @Test(groups = TestGroup.UNIT) public class ImmutableLocalDateDoubleTimeSeriesFudgeEncodingTest extends AbstractFudgeBuilderTestCase { private LocalDate[] dates; private double[] values; private ImmutableLocalDateDoubleTimeSeries ts; private ImmutableLocalDateDoubleTimeSeries empty; @BeforeMethod public void setUp() { dates = new LocalDate[] {LocalDate.of(2012, 6, 30), LocalDate.of(2012, 7, 1) }; values = new double[] {1.1d, 2.2d }; ts = ImmutableLocalDateDoubleTimeSeries.of(dates, values); empty = ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES; } public void testCycle1() { DoubleTimeSeries<?> cycleObject = cycleObject(DoubleTimeSeries.class, ts); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(ts, cycleObject); cycleObject = cycleObject(DoubleTimeSeries.class, ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES); assertEquals(ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES, cycleObject); } public void testCycle2() { DateDoubleTimeSeries<?> cycleObject = cycleObject(DateDoubleTimeSeries.class, ts); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(ts, cycleObject); cycleObject = cycleObject(DateDoubleTimeSeries.class, ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES); assertEquals(ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES, cycleObject); } public void testCycle3() { LocalDateDoubleTimeSeries cycleObject = cycleObject(LocalDateDoubleTimeSeries.class, ts); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(ts, cycleObject); cycleObject = cycleObject(LocalDateDoubleTimeSeries.class, ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES); assertEquals(ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES, cycleObject); } public void testCycle4() { ImmutableLocalDateDoubleTimeSeries cycleObject = cycleObject(ImmutableLocalDateDoubleTimeSeries.class, ts); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(ts, cycleObject); cycleObject = cycleObject(ImmutableLocalDateDoubleTimeSeries.class, ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES); assertEquals(ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES, cycleObject); } public void testEmptyCycle1() { DoubleTimeSeries<?> cycleObject = cycleObject(DoubleTimeSeries.class, empty); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(empty, cycleObject); } public void testEmptyCycle2() { DateDoubleTimeSeries<?> cycleObject = cycleObject(DateDoubleTimeSeries.class, empty); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(empty, cycleObject); } public void testEmptyCycle3() { LocalDateDoubleTimeSeries cycleObject = cycleObject(LocalDateDoubleTimeSeries.class, empty); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(empty, cycleObject); } public void testEmptyCycle4() { ImmutableLocalDateDoubleTimeSeries cycleObject = cycleObject(ImmutableLocalDateDoubleTimeSeries.class, empty); assertEquals(ImmutableLocalDateDoubleTimeSeries.class, cycleObject.getClass()); assertEquals(empty, cycleObject); } }