public void test_toValueWithFailures() {
List<Double> testList = ImmutableList.of(5d, 6d, 7d);
ValueWithFailures<Double> result = testList.stream()
.map(value -> mockCalc(value))
.collect(ValueWithFailures.toValueWithFailures(1d, (val1, val2) -> val1 * val2));
assertEquals(result.getValue(), 210d);
List<FailureItem> failures = result.getFailures();
assertEquals(failures.size(), 3);
assertEquals(failures.get(0).getMessage(), Messages.format("Error calculating result for input value {}", 5d));
assertEquals(failures.get(1).getMessage(), Messages.format("Error calculating result for input value {}", 6d));
assertEquals(failures.get(2).getMessage(), Messages.format("Error calculating result for input value {}", 7d));
}