@DataProvider(name = "subSeries") public static Object[][] data_subSeries() { return new Object[][] { // start = end -> empty {DATE_2011_01_01, DATE_2011_01_01, new int[] {}}, // no overlap {date(2006, 1, 1), date(2009, 1, 1), new int[] {}}, // single point {DATE_2011_01_01, date(2011, 1, 2), new int[] {1}}, // include when start matches base, exclude when end matches base {DATE_2011_01_01, DATE_2013_01_01, new int[] {1, 2}}, // include when start matches base {DATE_2011_01_01, date(2013, 1, 2), new int[] {1, 2, 3}}, // neither start nor end match {date(2010, 12, 31), date(2013, 1, 2), new int[] {1, 2, 3}}, // start date just after a base date {date(2011, 1, 2), date(2013, 1, 2), new int[] {2, 3}}, }; }
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_mapDates_notAscending() { List<Double> values = values(1, 2, 4); LocalDateDoubleTimeSeries base = LocalDateDoubleTimeSeries.builder().putAll(DATES_2010_12, values).build(); assertThrowsIllegalArg(() -> base.mapDates(date -> date(2016, 1, 6))); }