Skip to content

Commit

Permalink
Make it actually possible to create a waiter with different parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
shreyax committed Sep 5, 2024
1 parent 1990c34 commit 40c857a
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/test-support/java/com/lmax/solana4j/assertion/Waiter.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,12 @@ public final class Waiter
private static final Duration DEFAULT_INITIAL_DELAY = Duration.ZERO;
private static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(30);
private static final Duration DEFAULT_POLLING_INTERVAL = Duration.ofSeconds(3);
private static final Waiter DEFAULT_WAITER = new Waiter(DEFAULT_INITIAL_DELAY, DEFAULT_TIMEOUT, DEFAULT_POLLING_INTERVAL);

private final Duration initialDelay;
private final Duration timeout;
private final Duration pollingInterval;

private Waiter()
{
this(DEFAULT_INITIAL_DELAY, DEFAULT_TIMEOUT, DEFAULT_POLLING_INTERVAL);
}

private Waiter(final Duration initialDelay, final Duration timeout, final Duration pollingInterval)
{
this.initialDelay = initialDelay;
Expand Down Expand Up @@ -62,8 +58,13 @@ public <T> T waitForAssertion(final Assertion<T> assertion)
throw new AssertionError("Waiting for condition that never happened. " + ZonedDateTime.now());
}

public static Waiter waiter()
{
return DEFAULT_WAITER;
}

public static <T> T waitFor(final Assertion<T> assertion)
{
return new Waiter().waitForAssertion(assertion);
return waiter().waitForAssertion(assertion);
}
}

0 comments on commit 40c857a

Please sign in to comment.