test_class.file: cli/ballerina-packerina/src/test/java/org/ballerinalang/packerina/cmd/NewCommandTest.java
test_class.identifier: NewCommandTest
test_class.superclass: extends CommandTest
test_case.body: @Test(description = "Initialize a new empty project")
      public void testNewCommand() throws IOException {
          String[] args = {"project-name"};
          NewCommand newCommand = new NewCommand(tmpDir, printStream);
          new CommandLine(newCommand).parse(args);
          newCommand.execute();
          // Check with spec
          // project-name/
          // - Ballerina.toml
          // - src/
          // - tests/
          // -- *.bal           <- integration test code
          // -- resources/      <- integration test resources
          // - .gitignore       <- git ignore file
  
          Path projectPath = tmpDir.resolve("project-name");
          Assert.assertTrue(Files.exists(projectPath));
          Assert.assertTrue(Files.exists(projectPath.resolve("Ballerina.toml")));
          Assert.assertTrue(Files.exists(projectPath.resolve("src")));
          Assert.assertTrue(Files.isDirectory(projectPath.resolve("src")));
          //Path integrationTestPath = projectPath.resolve("tests");
          //Assert.assertTrue(Files.exists(integrationTestPath));
          //Assert.assertTrue(Files.isDirectory(integrationTestPath));
          //Assert.assertTrue(Files.exists(integrationTestPath.resolve("resources")));
          //Assert.assertTrue(Files.isDirectory(integrationTestPath.resolve("resources")));
          Assert.assertTrue(Files.exists(projectPath.resolve(".gitignore")));
  
          Assert.assertTrue(readOutput().contains("Created new Ballerina project at "));
      }
test_case.class_method_signature: NewCommandTest.testNewCommand()
test_case.full_signature: @Test(description = "Initialize a new empty project") public void testNewCommand()
test_case.identifier: testNewCommand
test_case.invocations: parse execute resolve assertTrue exists assertTrue exists resolve assertTrue exists resolve assertTrue isDirectory resolve assertTrue exists resolve assertTrue contains readOutput
test_case.modifiers: @Test(description = "Initialize a new empty project") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testNewCommand()
focal_class.declarator: userDir
focal_class.modifier: private
focal_class.original_string: private Path userDir;
focal_class.type: Path
focal_class.var_name: userDir
focal_class.declarator: errStream
focal_class.modifier: private
focal_class.original_string: private PrintStream errStream;
focal_class.type: PrintStream
focal_class.var_name: errStream
focal_class.declarator: argList
focal_class.modifier: @CommandLine.Parameters
      private
focal_class.original_string: @CommandLine.Parameters
      private List<String> argList;
focal_class.type: List<String>
focal_class.var_name: argList
focal_class.declarator: helpFlag
focal_class.modifier: @CommandLine.Option(names = {"--help", "-h"}, hidden = true)
      private
focal_class.original_string: @CommandLine.Option(names = {"--help", "-h"}, hidden = true)
      private boolean helpFlag;
focal_class.type: boolean
focal_class.var_name: helpFlag
focal_class.file: cli/ballerina-packerina/src/main/java/org/ballerinalang/packerina/cmd/NewCommand.java
focal_class.identifier: NewCommand
focal_class.interfaces: implements BLauncherCmd
focal_class.class_method_signature: NewCommand.NewCommand()
focal_class.full_signature: public  NewCommand()
focal_class.identifier: NewCommand
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  NewCommand()
focal_class.class_method_signature: NewCommand.NewCommand(Path userDir, PrintStream errStream)
focal_class.full_signature: public  NewCommand(Path userDir, PrintStream errStream)
focal_class.identifier: NewCommand
focal_class.modifiers: public
focal_class.parameters: (Path userDir, PrintStream errStream)
focal_class.signature:  NewCommand(Path userDir, PrintStream errStream)
focal_class.class_method_signature: NewCommand.execute()
focal_class.full_signature: @Override public void execute()
focal_class.identifier: execute
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void execute()
focal_class.class_method_signature: NewCommand.getName()
focal_class.full_signature: @Override public String getName()
focal_class.identifier: getName
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: NewCommand.printLongDesc(StringBuilder out)
focal_class.full_signature: @Override public void printLongDesc(StringBuilder out)
focal_class.identifier: printLongDesc
focal_class.modifiers: @Override public
focal_class.parameters: (StringBuilder out)
focal_class.return: void
focal_class.signature: void printLongDesc(StringBuilder out)
focal_class.class_method_signature: NewCommand.printUsage(StringBuilder out)
focal_class.full_signature: @Override public void printUsage(StringBuilder out)
focal_class.identifier: printUsage
focal_class.modifiers: @Override public
focal_class.parameters: (StringBuilder out)
focal_class.return: void
focal_class.signature: void printUsage(StringBuilder out)
focal_class.class_method_signature: NewCommand.setParentCmdParser(CommandLine parentCmdParser)
focal_class.full_signature: @Override public void setParentCmdParser(CommandLine parentCmdParser)
focal_class.identifier: setParentCmdParser
focal_class.modifiers: @Override public
focal_class.parameters: (CommandLine parentCmdParser)
focal_class.return: void
focal_class.signature: void setParentCmdParser(CommandLine parentCmdParser)
focal_method.body: public NewCommand() {
          userDir = Paths.get(System.getProperty("user.dir"));
          errStream = System.err;
      }
focal_method.class_method_signature: NewCommand.NewCommand()
focal_method.full_signature: public  NewCommand()
focal_method.identifier: NewCommand
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.signature:  NewCommand()