### Question:
ProjectCommand extends DefaultCommand { @Override public void run() throws CLIException { new Project() .setCwd(getCwd()) .run(); }  @Option(longName = "ts", shortName = "t", flag = true) @Description("Init a TypeScript project.") void setForce(boolean force); @Override void run();  }### Answer:
@Test public void shouldCreateAnEmptyProject() throws IOException { command.setCwd(IOUtils.mkTempDir()); String projectName = command.getCwd().getName(); File packageJson = new File(command.getCwd(), "package.json"); packageJson.deleteOnExit(); assertFalse(packageJson.exists()); command.run(); assertTrue(packageJson.exists()); Map json = JSON.parse(packageJson); assertEquals(projectName, json.get("name")); }