@Test(dataProvider = "subSeries") public void test_subSeries_emptySeries(LocalDate start, LocalDate end, int[] expected) { LocalDateDoubleTimeSeries test = LocalDateDoubleTimeSeries.empty().subSeries(start, end); assertEquals(test.size(), 0); }
@Test(dataProvider = "subSeries") public void test_subSeries_emptySeries(LocalDate start, LocalDate end, int[] expected) { LocalDateDoubleTimeSeries test = empty().subSeries(start, end); assertEquals(test.size(), 0); }
ArgChecker.notNull(ts, "Price index curve must have associated time-series: " + index.toString()); LocalDateDoubleTimeSeries tsPast = ts.subSeries(ts.getEarliestDate(), valuationDate); ArgChecker.isFalse(ts.isEmpty(), "Price index curve must have associated time-series with at least one element in the past:" + index.toString());
@Test(dataProvider = "subSeries") public void test_subSeries(LocalDate start, LocalDate end, int[] expected) { LocalDateDoubleTimeSeries base = LocalDateDoubleTimeSeries.builder().putAll(DATES_2010_14, VALUES_10_14).build(); LocalDateDoubleTimeSeries test = base.subSeries(start, end); assertEquals(test.size(), expected.length); for (int i = 0; i < DATES_2010_14.size(); i++) { if (Arrays.binarySearch(expected, i) >= 0) { assertEquals(test.get(DATES_2010_14.get(i)), OptionalDouble.of(VALUES_10_14.get(i))); } else { assertEquals(test.get(DATES_2010_14.get(i)), OptionalDouble.empty()); } } }
@Test(dataProvider = "subSeries") public void test_subSeries(LocalDate start, LocalDate end, int[] expected) { LocalDateDoubleTimeSeries base = LocalDateDoubleTimeSeries.builder() .putAll(DATES_2015_1_WEEK, VALUES_1_WEEK) .build(); LocalDateDoubleTimeSeries test = base.subSeries(start, end); assertEquals(test.size(), expected.length); for (int i = 0; i < DATES_2015_1_WEEK.size(); i++) { if (Arrays.binarySearch(expected, i) >= 0) { assertEquals(test.get(DATES_2015_1_WEEK.get(i)), OptionalDouble.of(VALUES_1_WEEK.get(i))); } else { assertEquals(test.get(DATES_2015_1_WEEK.get(i)), OptionalDouble.empty()); } } }
@Test(expectedExceptions = IllegalArgumentException.class) public void test_subSeries_startAfterEnd() { LocalDateDoubleTimeSeries base = LocalDateDoubleTimeSeries.builder().putAll(DATES_2015_1_WEEK, VALUES_1_WEEK).build(); base.subSeries(date(2011, 1, 2), DATE_2011_01_01); }
public void test_subSeries_startAfterEnd() { LocalDateDoubleTimeSeries base = LocalDateDoubleTimeSeries.builder().putAll(DATES_2010_14, VALUES_10_14).build(); assertThrowsIllegalArg(() -> base.subSeries(date(2011, 1, 2), DATE_2011_01_01)); }
public void test_earliest_with_subseries() { LocalDateDoubleTimeSeries series = LocalDateDoubleTimeSeries.builder() .put(DATE_2015_01_03, 3d) // Saturday, so include weekends .put(DATE_2015_01_05, 5d) .put(DATE_2015_01_06, 6d) .put(DATE_2015_01_07, 7d) .put(DATE_2015_01_08, 8d) .put(DATE_2015_01_09, 9d) .put(DATE_2015_01_11, 11d) .build(); LocalDateDoubleTimeSeries subSeries = series.subSeries(DATE_2015_01_04, DATE_2015_01_11); assertEquals(subSeries.getEarliestDate(), DATE_2015_01_05); assertEquals(subSeries.getEarliestValue(), 5d); assertEquals(subSeries.getLatestDate(), DATE_2015_01_09); assertEquals(subSeries.getLatestValue(), 9d); }
public void test_subSeries_picks_valid_dates() { LocalDateDoubleTimeSeries series = LocalDateDoubleTimeSeries.builder() .put(DATE_2015_01_02, 10) // Friday .put(DATE_2015_01_05, 11) // Mon .put(DATE_2015_01_06, 12) .put(DATE_2015_01_07, 13) .put(DATE_2015_01_08, 14) .put(DATE_2015_01_09, 15) // Fri .put(DATE_2015_01_12, 16) // Mon .build(); // Pick using weekend dates LocalDateDoubleTimeSeries subSeries = series.subSeries(DATE_2015_01_04, date(2015, 1, 10)); assertEquals(subSeries.size(), 5); assertEquals(subSeries.get(DATE_2015_01_02), OptionalDouble.empty()); assertEquals(subSeries.get(DATE_2015_01_04), OptionalDouble.empty()); assertEquals(subSeries.get(DATE_2015_01_05), OptionalDouble.of(11)); assertEquals(subSeries.get(DATE_2015_01_06), OptionalDouble.of(12)); assertEquals(subSeries.get(DATE_2015_01_07), OptionalDouble.of(13)); assertEquals(subSeries.get(DATE_2015_01_08), OptionalDouble.of(14)); assertEquals(subSeries.get(DATE_2015_01_09), OptionalDouble.of(15)); assertEquals(subSeries.get(DATE_2015_01_12), OptionalDouble.empty()); }