@Test
public void testImportedPath() throws Exception {

    final PackageId arg0 = PackageId.fromString("my_packages:example:1.0");
    final String arg1 = "/correct/path";
    final Node arg2 = mock(Node.class);
    final PathAction arg3 = PathAction.MODIFIED;
    final CompletableFuture<PackageId> slot0 = new CompletableFuture<>();
    final CompletableFuture<String> slot1 = new CompletableFuture<>();
    final CompletableFuture<Node> slot2 = new CompletableFuture<>();
    final CompletableFuture<PathAction> slot3 = new CompletableFuture<>();
    final ProgressCheck delegate = mock(ProgressCheck.class);
    doAnswer(call -> {
        slot0.complete(call.getArgument(0, PackageId.class));
        slot1.complete(call.getArgument(1, String.class));
        slot2.complete(call.getArgument(2, Node.class));
        slot3.complete(call.getArgument(3, PathAction.class));
        return true;
    }).when(delegate).importedPath(
            any(PackageId.class),
            any(String.class),
            any(Node.class),
            any(PathAction.class));
    final ProgressCheckAliasFacade alias = new ProgressCheckAliasFacade(delegate, null);
    alias.importedPath(arg0, arg1, arg2, arg3);
    assertSame("same arg0", arg0, slot0.getNow(null));
    assertSame("same arg1", arg1, slot1.getNow(null));
    assertSame("same arg2", arg2, slot2.getNow(null));
    assertSame("same arg3", arg3, slot3.getNow(null));
}