/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.master.historicaltimeseries.impl; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import java.util.ArrayList; import java.util.List; import org.testng.annotations.Test; import org.threeten.bp.LocalDate; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.id.ExternalIdBundle; import com.opengamma.id.ExternalIdBundleWithDates; import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesInfoDocument; import com.opengamma.master.historicaltimeseries.HistoricalTimeSeriesMaster; import com.opengamma.master.historicaltimeseries.ManageableHistoricalTimeSeriesInfo; import com.opengamma.timeseries.date.localdate.LocalDateDoubleTimeSeries; import com.opengamma.util.test.TestGroup; import com.opengamma.util.time.DateUtils; /** * */ @Test(groups = TestGroup.UNIT) public class HistoricalTimeSeriesMasterPopulator { public static List<ExternalIdBundleWithDates> populateAndTestMaster(HistoricalTimeSeriesMaster htsMaster, int datasetSize, String[] dataSources, String[] dataProviders, String[] dataFields, String observationTime) { List<ExternalIdBundleWithDates> result = new ArrayList<ExternalIdBundleWithDates>(); for (int i = 0; i < datasetSize; i++) { ExternalIdBundle identifiers = ExternalIdBundle.of(ExternalSchemes.bloombergTickerSecurityId("ticker" + i), ExternalSchemes.bloombergBuidSecurityId("buid" + i)); result.add(ExternalIdBundleWithDates.of(identifiers)); LocalDate start = DateUtils.previousWeekDay().minusDays(7); for (String dataSource : dataSources) { for (String dataProvider : dataProviders) { for (String datafield : dataFields) { ManageableHistoricalTimeSeriesInfo series = new ManageableHistoricalTimeSeriesInfo(); series.setDataField(datafield); series.setDataProvider(dataProvider); series.setDataSource(dataSource); series.setObservationTime(observationTime); series.setExternalIdBundle(ExternalIdBundleWithDates.of(identifiers)); HistoricalTimeSeriesInfoDocument doc = htsMaster.add(new HistoricalTimeSeriesInfoDocument(series)); assertNotNull(doc); assertNotNull(doc.getUniqueId()); LocalDateDoubleTimeSeries timeSeries = RandomTimeSeriesGenerator.makeRandomTimeSeries(start, 7); assertTrue(timeSeries.size() == 7); assertEquals(start, timeSeries.getEarliestTime()); htsMaster.updateTimeSeriesDataPoints(doc.getInfo().getTimeSeriesObjectId(), timeSeries); } } } } return result; } }