public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e), retries); assertThat(resultCondition.apply(result)).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e)); assertThat(resultCondition.apply(result)).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e), retries); assertThat(resultCondition.apply(result)).isTrue(); return result; }
public T whileConditionHolds( Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries) { int numTries = 0; T result; do { result = null; try { if (numTries > 0) { Thread.sleep(100L); } result = callable.call(); } catch (Exception e) { if (!exceptionCondition.apply(e)) { throw new RuntimeException("Unexpected exception while checking condition", e); } } numTries++; } while (numTries < retries && resultCondition.apply(result)); return result; } }
public T whileConditionHolds( Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries) { int numTries = 0; T result; do { result = null; try { if (numTries > 0) { Thread.sleep(100L); } result = callable.call(); } catch (Exception e) { if (!exceptionCondition.apply(e)) { throw new RuntimeException("Unexpected exception while checking condition", e); } } numTries++; } while (numTries < retries && resultCondition.apply(result)); return result; } }
public T whileConditionHolds(Function<T, Boolean> resultCondition, final int retires) { return whileConditionHolds(resultCondition, (e) -> true, retires); }
public T whileConditionHolds(Function<T, Boolean> resultCondition) { return whileConditionHolds(resultCondition, (e) -> true); }
public T whileConditionHolds(Function<T, Boolean> resultCondition) { return whileConditionHolds(resultCondition, (e) -> true); }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries, final String message, final Object... args) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e), retries); assertThat(resultCondition.apply(result)).withFailMessage(message, args).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final String message, final Object... args) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e)); assertThat(resultCondition.apply(result)).withFailMessage(message, args).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e)); assertThat(resultCondition.apply(result)).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final int retries, final String message, final Object... args) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e), retries); assertThat(resultCondition.apply(result)).withFailMessage(message, args).isTrue(); return result; }
public T until( final Function<T, Boolean> resultCondition, Function<Exception, Boolean> exceptionCondition, final String message, final Object... args) { final T result = whileConditionHolds( (t) -> !resultCondition.apply(t), (e) -> !exceptionCondition.apply(e)); assertThat(resultCondition.apply(result)).withFailMessage(message, args).isTrue(); return result; }
public T whileConditionHolds(Function<T, Boolean> resultCondition, final int retires) { return whileConditionHolds(resultCondition, (e) -> true, retires); }