@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()); } } }
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)); }