@Test
public void testSimulateSling() {

    final SlingSimulator arg0 = NoopSlingSimulator.instance();
    final Set<String> arg1 = Stream.of("author", "publish").collect(Collectors.toSet());
    final CompletableFuture<SlingSimulator> slot0 = new CompletableFuture<>();
    final CompletableFuture<Set<?>> slot1 = new CompletableFuture<>();
    final ProgressCheck delegate = mock(ProgressCheck.class);
    doAnswer(call -> {
        slot0.complete(call.getArgument(0, SlingSimulator.class));
        slot1.complete(call.getArgument(1, Set.class));
        return true;
    }).when(delegate).simulateSling(
            any(SlingSimulator.class),
            any(Set.class));
    final ProgressCheckAliasFacade alias = new ProgressCheckAliasFacade(delegate, null);
    alias.simulateSling(arg0, arg1);
    assertSame("same arg0", arg0, slot0.getNow(null));
    assertSame("same arg1", arg1, slot1.getNow(null));
}