/** * Returns true if evaluation of the whole expression is complete. * <p> * This occurs if the evaluation failed or all tokens in the expression have been consumed. * * @return returns true if evaluation of the whole expression is complete */ public boolean isComplete() { return getResult().isFailure() || getRemainingTokens().isEmpty(); }
public void ofNullable_nonNull() { Result<Integer> test = Result.ofNullable(6); assertFalse(test.isFailure()); assertEquals(test.getValue().intValue(), 6); }
public void wrap_with_exception() { Result<String> test = Result.wrap(() -> { throw new IllegalArgumentException("Big bad error"); }); assertEquals(test.isSuccess(), false); assertEquals(test.isFailure(), true); assertThrows(test::getValue, IllegalStateException.class); }
public void of_with_success() { Result<String> test = Result.of(() -> "success"); assertEquals(test.isSuccess(), true); assertEquals(test.isFailure(), false); assertEquals(test.getValue(), "success"); }
public void of_with_exception() { Result<String> test = Result.of(() -> { throw new IllegalArgumentException("Big bad error"); }); assertEquals(test.isSuccess(), false); assertEquals(test.isFailure(), true); assertThrows(test::getValue, IllegalStateException.class); }
public void wrap_with_success() { Result<String> test = Result.wrap(() -> Result.success("success")); assertEquals(test.isSuccess(), true); assertEquals(test.isFailure(), false); assertEquals(test.getValue(), "success"); }
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 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]"); }
public void failure_fromStatusMessageArgs_placeholdersExceedArgs() { 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_placeholdersLessThanArgs2() { 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 blue failure - [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 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_noMeasureName() { 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 success() { Result<String> test = Result.success("success"); assertEquals(test.isSuccess(), true); assertEquals(test.isFailure(), false); assertEquals(test.getValue(), "success"); assertEquals(test.getValueOrElse("blue"), "success"); assertThrowsIllegalArg(() -> test.getValueOrElse(null)); assertThrowsIllegalArg(() -> test.getValueOrElseApply(null)); }
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 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 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); }