### Question:
Launcher { public static void runPipeline(File scriptFile, List<String> cliArgs) throws IOException, UIMAException, ParseException { if (!scriptFile.exists()) { throw new IOException("Script file does not exist (" + scriptFile.getAbsolutePath() + ")"); } LOG.info("Parsing pipeline script at '{}'", scriptFile.getAbsolutePath() + " \n with CLI parameters: " + join(cliArgs, ", ")); Pipeline pipeline = null; try { pipeline = PipelineScriptParser.parse(scriptFile, cliArgs); } catch (ParseException e) { throw new ParseException("\nERROR parsing '" + scriptFile.getName() + "'\n" + e.getMessage() + "\n(see the README.txt for the pipeline script format)", e.getErrorOffset()); } LOG.info("Successfully parsed pipeline script, now starting pipeline..."); LOG.info("*************************************************************"); pipeline.run(); System.out.println(OK_MESSAGE); }  static void main(String[] args); static void listPipelinesAndAsk(File pipelines); static void runPipeline(File scriptFile, List<String> cliArgs); static final String OK_MESSAGE; }### Answer:
@Test public void testArgs() throws Exception { Launcher.runPipeline(new File(TESTS_ROOT + "laucher/args.pipeline"), newArrayList("two words", "2", "10")); }
@Test(expected = ParseException.class) public void testArgsFail() throws Exception { Launcher.runPipeline(new File(TESTS_ROOT + "laucher/args.pipeline"), newArrayList("two words", "2", "1asfdafsd0")); }
@Test(expected = IOException.class) public void testArgsFail2() throws Exception { Launcher.runPipeline(new File("blablalba"), new ArrayList<String>()); }