public void generateFailureFromExceptionWithMessage() { Exception exception = new Exception("something went wrong"); Result<Object> test = Result.failure(exception, "my message"); assertEquals(test.getFailure().getReason(), ERROR); assertEquals(test.getFailure().getMessage(), "my message"); }
public void generateFailureFromException() { Exception exception = new Exception("something went wrong"); Result<Object> test = Result.failure(exception); assertEquals(test.getFailure().getReason(), ERROR); assertEquals(test.getFailure().getMessage(), "something went wrong"); }
public void generateFailureFromExceptionWithCustomStatus() { Exception exception = new Exception("something went wrong"); Result<Object> test = Result.failure(CALCULATION_FAILED, exception); assertEquals(test.getFailure().getReason(), CALCULATION_FAILED); assertEquals(test.getFailure().getMessage(), "something went wrong"); }
public void failureDeduplicateFailure() { Result<Object> result = Result.failure(MISSING_DATA, "failure"); FailureItem failure = result.getFailure().getItems().iterator().next(); Result<Object> test = Result.failure(result, result); assertEquals(test.getFailure().getItems().size(), 1); assertEquals(test.getFailure().getItems(), ImmutableSet.of(failure)); assertEquals(test.getFailure().getMessage(), "failure"); }
public void failure_flatMap_throwing() { Result<String> success = Result.failure(new IllegalArgumentException("failure")); Result<Integer> test = success.flatMap(r -> { throw new IllegalArgumentException("Big bad error"); }); assertEquals(test.isSuccess(), false); assertEquals(test.getFailure().getReason(), ERROR); assertEquals(test.getFailure().getMessage(), "failure"); }
public void measurePath_failure_unknownMeasure() { ReportCalculationResults reportResults = reportResults(); List<Result<?>> results = ValuePathEvaluator.evaluate("Measures.Wibble", reportResults); Result<?> result = results.get(0); assertThat(result.isFailure()).isTrue(); assertThat(result.getFailure().getMessage()).contains("Wibble"); assertThat(result.getFailure().getMessage()).contains("PresentValue"); assertThat(result.getFailure().getMessage()).contains("ParRate"); }
public void failure_combineWith_success() { Result<String> failure = Result.failure(new IllegalArgumentException("failure")); Result<String> success = Result.success("World"); Result<String> test = failure.combineWith(success, FUNCTION_MERGE); assertEquals(test.getFailure().getReason(), ERROR); assertEquals(test.getFailure().getMessage(), "failure"); }
public void success_combineWith_failure() { Result<String> success = Result.success("Hello"); Result<String> failure = Result.failure(new IllegalArgumentException()); Result<String> test = success.combineWith(failure, FUNCTION_MERGE); assertEquals(test.isSuccess(), false); assertEquals(test.getFailure().getReason(), ERROR); assertEquals(test.getFailure().getItems().size(), 1); }
public void ofNullable_null() { Result<Integer> test = Result.ofNullable(null); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "Found null where a value was expected"); assertEquals(test.getFailure().getItems().size(), 1); FailureItem item = test.getFailure().getItems().iterator().next(); assertEquals(item.getReason(), MISSING_DATA); assertEquals(item.getMessage(), "Found null where a value was expected"); assertEquals(item.getCauseType().isPresent(), false); assertTrue(item.getStackTrace() != null); }
public void measurePath_failure_noDot() { ReportCalculationResults reportResults = reportResults(); List<Result<?>> results = ValuePathEvaluator.evaluate("Measures", reportResults); Result<?> result = results.get(0); assertThat(result.isFailure()).isTrue(); assertThat(result.getFailure().getMessage()).contains("PresentValue"); assertThat(result.getFailure().getMessage()).contains("ParRate"); }
public void measurePath_failure_nonQueriedMeasure() { ReportCalculationResults reportResults = reportResults(); List<Result<?>> results = ValuePathEvaluator.evaluate("Measures.ParSpread", reportResults); Result<?> result = results.get(0); assertThat(result.isFailure()).isTrue(); assertThat(result.getFailure().getMessage()).contains("PresentValue"); assertThat(result.getFailure().getMessage()).contains("ParRate"); }
public void failure_fromFailure() { Failure failure = Failure.of(ERROR, "my failure"); Result<Integer> test = Result.failure(failure); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "my failure"); assertEquals(test.getFailure().getItems().size(), 1); FailureItem item = test.getFailure().getItems().iterator().next(); assertEquals(item.getReason(), ERROR); assertEquals(item.getMessage(), "my failure"); assertEquals(item.getCauseType().isPresent(), false); assertTrue(item.getStackTrace() != null); }
public void failureSameType() { Result<Object> failure1 = Result.failure(MISSING_DATA, "message 1"); Result<Object> failure2 = Result.failure(MISSING_DATA, "message 2"); Result<Object> failure3 = Result.failure(MISSING_DATA, "message 3"); Result<?> composite = Result.failure(failure1, failure2, failure3); assertEquals(composite.getFailure().getReason(), MISSING_DATA); assertEquals(composite.getFailure().getMessage(), "message 1, message 2, message 3"); }
public void failure_fromStatusMessageArgs_placeholdersLessThanArgs1() { Result<String> failure = Result.failure(ERROR, "my {} failure", "blue", "rabbit"); Result<Integer> test = Result.failure(failure); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "my blue failure - [rabbit]"); }
public void failureDifferentTypes() { Result<Object> failure1 = Result.failure(MISSING_DATA, "message 1"); Result<Object> failure2 = Result.failure(CALCULATION_FAILED, "message 2"); Result<Object> failure3 = Result.failure(ERROR, "message 3"); Result<?> composite = Result.failure(failure1, failure2, failure3); assertEquals(composite.getFailure().getReason(), FailureReason.MULTIPLE); assertEquals(composite.getFailure().getMessage(), "message 1, message 2, message 3"); }
public void failure_fromStatusMessageArgs_placeholdersMatchArgs2() { Result<String> failure = Result.failure(ERROR, "my {} {} failure", "blue", "rabbit"); Result<Integer> test = Result.failure(failure); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "my blue rabbit failure"); }
public void failure_fromStatusMessageArgs_placeholdersMatchArgs1() { Result<String> failure = Result.failure(ERROR, "my {} failure", "blue"); Result<Integer> test = Result.failure(failure); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "my blue failure"); }
public void failure_fromStatusMessageArgs_placeholdersLessThanArgs3() { Result<String> failure = Result.failure(ERROR, "my failure", "blue", "rabbit", "carrot"); Result<Integer> test = Result.failure(failure); assertTrue(test.isFailure()); assertEquals(test.getFailure().getMessage(), "my failure - [blue, rabbit, carrot]"); }
@Override protected String formatData(TradeReport report, int rowIdx, int colIdx, ReportOutputFormat format) { TradeReportColumn templateColumn = report.getColumns().get(colIdx); Result<?> result = report.getData().get(rowIdx, colIdx); if (result.isFailure()) { return templateColumn.isIgnoreFailures() ? "" : Messages.format("FAIL: {}", result.getFailure().getMessage()); } Object value = result.getValue(); return formatValue(value, format); }
public void coverage() { Result<Object> failure = Result.failure(MISSING_DATA, "message 1"); TestHelper.coverImmutableBean(failure); TestHelper.coverImmutableBean(failure.getFailure()); TestHelper.coverImmutableBean(failure.getFailure().getItems().iterator().next()); Result<String> success = Result.success("Hello"); TestHelper.coverImmutableBean(success); TestHelper.coverEnum(FailureReason.class); }