@Test
public void testAfterExtract() throws Exception {

    final PackageId arg0 = PackageId.fromString("my_packages:example:1.0");
    final Session arg1 = mock(Session.class);
    final CompletableFuture<PackageId> slot0 = new CompletableFuture<>();
    final CompletableFuture<Session> slot1 = new CompletableFuture<>();
    final ProgressCheck delegate = mock(ProgressCheck.class);
    doAnswer(call -> {
        slot0.complete(call.getArgument(0, PackageId.class));
        slot1.complete(call.getArgument(1, Session.class));
        return true;
    }).when(delegate).afterExtract(
            any(PackageId.class),
            any(Session.class));
    final ProgressCheckAliasFacade alias = new ProgressCheckAliasFacade(delegate, null);
    alias.afterExtract(arg0, arg1);
    assertSame("same arg0", arg0, slot0.getNow(null));
    assertSame("same arg1", arg1, slot1.getNow(null));
}