private Duration maxWaitTime() { if (!toSend.isEmpty()) { return maxSendDelay.minus(timeSinceFirstMsg()); } return FOREVER; }
private Duration maxWaitTime() { if (!toSend.isEmpty()) { return maxSendDelay.minus(timeSinceFirstMsg()); } return FOREVER; }
@Override public Duration remaining() { return time.minus(start.elapsedTime(), ChronoUnit.MILLIS); } };
@Override public boolean render() { final boolean rendered = super.render(); if (rendered) { final Duration fromStart = Duration.between(getStartTime(), Instant.now()); return !fromStart.minus(timer.getInitialDelay()).isNegative(); } return false; }
@Override public void lock(Duration timeout) { Timer t = times.getTimer().start(); first.lock(timeout); Duration remainingTimeout = timeout.minus(t.elapsed()); try { second.lock(remainingTimeout); } catch (RuntimeException e) { first.unlock(); throw e; } }
@Override public void lock(Duration timeout) { Timer t = times.getTimer().start(); first.lock(timeout); Duration remainingTimeout = timeout.minus(t.elapsed()); try { second.lock(remainingTimeout); } catch (RuntimeException e) { first.unlock(); throw e; } }
private void resetInfobox() { if (deathTimer != null) { infoBoxManager.removeInfoBox(deathTimer); deathTimer = null; } if (hasDied() && config.showDeathInfoBox()) { Instant now = Instant.now(); Duration timeLeft = Duration.ofHours(1).minus(Duration.between(config.timeOfDeath(), now)); if (!timeLeft.isNegative() && !timeLeft.isZero()) { deathTimer = new Timer(timeLeft.getSeconds(), ChronoUnit.SECONDS, getBonesImage(), this); deathTimer.setTooltip("Died on world: " + config.deathWorld()); infoBoxManager.addInfoBox(deathTimer); } } }
@Test public void verifyVirtualTimeOnNextInterval() { Duration r; r = StepVerifier.withVirtualTime(() -> Flux.interval(Duration.ofSeconds(3)) .map(d -> "t" + d)) .thenAwait(Duration.ofSeconds(3)) .expectNext("t0") .thenAwait(Duration.ofSeconds(3)) .expectNext("t1") .thenAwait(Duration.ofSeconds(3)) .expectNext("t2") .thenCancel() .verify(); assertThat(r.minus(Duration.ofSeconds(9)).toMillis()).isNegative(); }
@Test void shouldGetNanosOfDayUTC() { LocalTime localTime = LocalTime.of( 14, 19, 18, 123999 ); ZoneOffset offset = ZoneOffset.ofHours( -12 ); OffsetTime time = OffsetTime.of( localTime, offset ); long nanosOfDayUTC = TemporalUtil.getNanosOfDayUTC( time ); long expectedNanosOfDayUTC = Duration.ofSeconds( localTime.toSecondOfDay() ) .minus( offset.getTotalSeconds(), SECONDS ) .toNanos(); assertEquals( expectedNanosOfDayUTC + localTime.getNano(), nanosOfDayUTC ); } }
@Override void run(DefaultVerifySubscriber<T> parent) throws Exception { if(parent.virtualTimeScheduler != null) { parent.monitorSignal = true; virtualOrRealWait(duration.minus(Duration.ofNanos(1)), parent); parent.monitorSignal = false; if (parent.terminalError != null && !parent.isCancelled()) { Throwable terminalError = parent.terminalError.getThrowable(); throw parent.errorFormatter.assertionError("Unexpected error during a no-event expectation: " + terminalError, terminalError); } else if (parent.isTerminated() && !parent.isCancelled()) { throw parent.errorFormatter.assertionError("Unexpected completion during a no-event expectation"); } virtualOrRealWait(Duration.ofNanos(1), parent); } else{ parent.monitorSignal = true; virtualOrRealWait(duration, parent); parent.monitorSignal = false; if (parent.terminalError != null && !parent.isCancelled()) { Throwable terminalError = parent.terminalError.getThrowable(); throw parent.errorFormatter.assertionError("Unexpected error during a no-event expectation: " + terminalError, terminalError); } else if (parent.isTerminated() && !parent.isCancelled()) { throw parent.errorFormatter.assertionError("Unexpected completion during a no-event expectation"); } } } }
/** * Calculates the amount of time elapsed since the current iteration started. * * @param timer The reference timer. */ Duration getElapsedSinceIterationStart(AbstractTimer timer) { return timer.getElapsed().minus(this.currentIterationStartTime.get()); }
private Duration maxWaitTime() { if (!toSend.isEmpty()) { return maxSendDelay.minus(timeSinceFirstMsg()); } return FOREVER; }
@Override protected boolean matchesSafely(Duration item, Description mismatchDescription) { Duration difference = item.minus(target).abs(); mismatchDescription.appendValue(item) .appendText(" which is ") .appendValue(difference) .appendText(" from ") .appendValue(target); return difference.compareTo(margin) <= 0; // difference <= margin }
private TemporalAmount minus(TemporalAmount first, TemporalAmount second) { if (first instanceof Period && second instanceof Period) { return ((Period) first).minus(second); } else if (first instanceof Duration && second instanceof Duration) { return ((Duration)first).minus((Duration)second); } else { throw new DMNRuntimeException(String.format("Cannot subtract '%s' and '%s'", first, second)); } }
@Override public Duration getReadTimeoutOrThrow() { Duration timeLeft = timeBudget.timeLeft().get(); // timeLeft = CONNECT_TIMEOUT + readTimeout Duration readTimeout = timeLeft.minus(CONNECT_TIMEOUT); if (readTimeout.toMillis() <= 0) { throw new UncheckedTimeoutException("Timed out after " + timeBudget.originalTimeout().get()); } return readTimeout; }
@Override @SuppressWarnings("all") public Optional<Duration> determineExpirationTimeout(@NonNull Session session) { return getIdleTimeout() .map(idleTimeout -> idleTimeout.minus(computeIdleTime(session))); }
@Override public Optional<Duration> determineExpirationTimeout(@NonNull Session session) { Optional<Duration> idleTimeout = super.determineExpirationTimeout(session); Duration fixedExpirationTimeout = getFixedTimeout().minus(computeTimeSinceCreation(session)); return idleTimeout.filter(it -> it.compareTo(fixedExpirationTimeout) <= 0).isPresent() ? Optional.empty() : Optional.of(fixedExpirationTimeout); }
@Override public void lock(Duration timeout) { Timer t = times.getTimer().start(); first.lock(timeout); Duration remainingTimeout = timeout.minus(t.elapsed()); try { second.lock(remainingTimeout); } catch (RuntimeException e) { first.unlock(); throw e; } }
private void simulateUserActivity(Duration duration, Duration waitDuration) { while (!duration.isNegative()) { jsActions.scrollBy(0, 100); wait.forX(waitDuration); jsActions.scrollBy(0, -100); duration = duration.minus(waitDuration); } }