### Question:
InstallCommand extends DefaultCommand { @Override public void run() throws CLIException { command .setCwd(getCwd()) .run(); }  @Option(longName = "vendor", shortName = "v") @Description("Comma separated list of vendor jars.") void setVendor(String vendor); @Option(longName = "link", shortName = "l", flag = true) @Description("Symlink jars instead of copy.") void setLink(boolean link); @Override void run();  }### Answer:
@Test public void shouldDownloadDependencies() throws IOException { command.setCwd(IOUtils.mkTempDir()); File packageJson = new File(command.getCwd(), "package.json"); packageJson.deleteOnExit(); assertFalse(packageJson.exists()); Map json = new HashMap(); json.put("name", "empty"); Map dependencies = new HashMap(); dependencies.put("@vertx/core", "3.6.3"); json.put("dependencies", dependencies); Map devDependencies = new HashMap(); devDependencies.put("@vertx/unit", "3.6.3"); json.put("devDependencies", devDependencies); List mvnDependencies = new ArrayList(); mvnDependencies.add("io.reactiverse:es4x:0.7.2"); mvnDependencies.add("io.vertx:vertx-core:3.6.3"); mvnDependencies.add("io.vertx:vertx-unit:3.6.3"); json.put("mvnDependencies", mvnDependencies); JSON.encode(packageJson, json); command.run(); }