@Test public void retrievingArgumentsInATypeSafeWay() throws ParsingException { cli = new CLI(); ArgumentSpec<Boolean> verbose = cli.option("-v").ofType(Boolean.class); ArgumentSpec<Integer> size = cli.option("--block-size").takingArgument("SIZE").ofType(int.class).defaultingTo(1024); OperandSpec<File> input = cli.operand("input").ofType(File.class); Args args = cli.parse("-v", "--block-size", "2048", "/path/to/input"); File inputFile = input.get(args); assertEquals("/path/to/input", inputFile.getAbsolutePath()); boolean verboseFlag = verbose.get(args); assertEquals(true, verboseFlag); int blockSize = size.get(args); assertEquals(2048, blockSize); }