/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.core.historicaltimeseries.impl; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import org.fudgemsg.FudgeContext; import org.fudgemsg.FudgeMsgEnvelope; import org.testng.annotations.Test; import org.threeten.bp.LocalDate; import org.threeten.bp.Month; import com.opengamma.id.UniqueId; import com.opengamma.timeseries.date.localdate.ImmutableLocalDateDoubleTimeSeries; import com.opengamma.util.fudgemsg.OpenGammaFudgeContext; import com.opengamma.util.test.TestGroup; /** * Test SimpleHistoricalTimeSeries Fudge support. */ @Test(groups = TestGroup.UNIT) public class SimpleHistoricalTimeSeriesFudgeEncodingTest { private static final UniqueId UID = UniqueId.of("A", "B", "V"); private static final double[] VALUES = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0}; private static final LocalDate[] TIMES = testTimes(); private final FudgeContext _fudgeContext = OpenGammaFudgeContext.getInstance(); @Test public void test_cycling() { SimpleHistoricalTimeSeries simpleHistoricalTimeSeries = new SimpleHistoricalTimeSeries(UID, ImmutableLocalDateDoubleTimeSeries.of(TIMES, VALUES)); cycleTimeSeries(simpleHistoricalTimeSeries); } private void cycleTimeSeries(final SimpleHistoricalTimeSeries original) { FudgeMsgEnvelope msgEnvelope = _fudgeContext.toFudgeMsg(original); assertNotNull(msgEnvelope); SimpleHistoricalTimeSeries fromFudgeMsg = _fudgeContext.fromFudgeMsg(SimpleHistoricalTimeSeries.class, msgEnvelope.getMessage()); assertTrue(original != fromFudgeMsg); assertEquals(original, fromFudgeMsg); } private static LocalDate[] testTimes() { LocalDate one = LocalDate.of(2010, Month.FEBRUARY, 8); LocalDate two = LocalDate.of(2010, Month.FEBRUARY, 9); LocalDate three = LocalDate.of(2010, Month.FEBRUARY, 10); LocalDate four = LocalDate.of(2010, Month.FEBRUARY, 11); LocalDate five = LocalDate.of(2010, Month.FEBRUARY, 12); LocalDate six = LocalDate.of(2010, Month.FEBRUARY, 13); return new LocalDate[] {one, two, three, four, five, six }; } }