### Question:
FluentWaitElement implements FluentWaitFunctional<FluentControl>, FluentWaitConditions<FluentWaitElement>,
        FluentWaitConfiguration<FluentWaitElement> { public FluentConditions until() { return controlWait.until(element); } FluentWaitElement(FluentWait controlWait, FluentWebElement element); FluentConditions until(); @Override org.openqa.selenium.support.ui.FluentWait getWait(); @Override FluentWaitElement atMost(Duration duration); @Override FluentWaitElement pollingEvery(Duration duration); @Override FluentWaitElement ignoreAll(Collection<Class<? extends Throwable>> types); @Override FluentWaitElement ignoring(Class<? extends RuntimeException> exceptionType); @Override FluentWaitElement ignoring(Class<? extends RuntimeException> firstType, Class<? extends RuntimeException> secondType); @Override FluentWaitElement withMessage(Supplier<String> message); @Override boolean hasMessageDefined(); @Override FluentWaitElement withNoDefaultsException(); @Override void untilPredicate(Predicate<FluentControl> predicate); @Override void until(Supplier<Boolean> isTrue); @Override FluentConditions until(FluentWebElement element); @Override FluentListConditions until(List<? extends FluentWebElement> elements); @Override FluentListConditions untilEach(List<? extends FluentWebElement> elements); @Override FluentConditions untilElement(Supplier<? extends FluentWebElement> selector); @Override FluentListConditions untilElements(Supplier<? extends List<? extends FluentWebElement>> selector); @Override FluentListConditions untilEachElements(Supplier<? extends List<? extends FluentWebElement>> selector); @Override FluentWaitWindowConditions untilWindow(String windowName); @Override FluentWaitPageConditions untilPage(); @Override FluentWaitPageConditions untilPage(FluentPage page); @Override FluentWaitElement explicitlyFor(long amount, TimeUnit timeUnit); @Deprecated T until(Function<? super FluentControl, T> function);  }### Answer:
@Test public void until() { wait.until(); Mockito.verify(fluentControlWait).until(fluentWebElement); }
@Test public void untilBooleanSupplier() { Supplier<Boolean> isTrue = mock(Supplier.class); wait.until(isTrue); Mockito.verify(fluentControlWait).until(isTrue); }
@Test public void untilFunction() { Function<? super FluentControl, ?> isTrue = mock(Function.class); wait.until(isTrue); Mockito.verify(fluentControlWait).until(isTrue); }