public void test_earliestLatest_whenEmpty() { LocalDateDoubleTimeSeries test = LocalDateDoubleTimeSeries.empty(); TestHelper.assertThrows(() -> test.getEarliestDate(), NoSuchElementException.class); TestHelper.assertThrows(() -> test.getEarliestValue(), NoSuchElementException.class); TestHelper.assertThrows(() -> test.getLatestDate(), NoSuchElementException.class); TestHelper.assertThrows(() -> test.getLatestValue(), NoSuchElementException.class); }
// ------------------------------------------------------------------------- public void test_earliestLatest() { LocalDateDoubleTimeSeries test = LocalDateDoubleTimeSeries.builder().putAll(DATES_2010_12, VALUES_10_12).build(); assertEquals(test.getEarliestDate(), DATE_2010_01_01); assertEquals(test.getEarliestValue(), 10d, TOLERANCE); assertEquals(test.getLatestDate(), DATE_2012_01_01); assertEquals(test.getLatestValue(), 12d, TOLERANCE); }
public void test_combineWith_intersectionWithAllMatchingElements() { List<LocalDate> dates1 = DATES_2010_14; List<Double> values1 = values(10, 11, 12, 13, 14); LocalDateDoubleTimeSeries series1 = LocalDateDoubleTimeSeries.builder().putAll(dates1, values1).build(); List<LocalDate> dates2 = DATES_2010_14; List<Double> values2 = values(1.0, 1.1, 1.2, 1.3, 1.4); LocalDateDoubleTimeSeries series2 = LocalDateDoubleTimeSeries.builder().putAll(dates2, values2).build(); LocalDateDoubleTimeSeries combined = series1.intersection(series2, Double::sum); assertEquals(combined.size(), 5); assertEquals(combined.getEarliestDate(), DATE_2010_01_01); assertEquals(combined.getLatestDate(), DATE_2014_01_01); assertEquals(combined.get(DATE_2010_01_01), OptionalDouble.of(11.0)); assertEquals(combined.get(DATE_2011_01_01), OptionalDouble.of(12.1)); assertEquals(combined.get(DATE_2012_01_01), OptionalDouble.of(13.2)); assertEquals(combined.get(DATE_2013_01_01), OptionalDouble.of(14.3)); assertEquals(combined.get(DATE_2014_01_01), OptionalDouble.of(15.4)); }