public static CommandLineArgs parseArgs(String... args) throws Exception { CommandLineArgs lineArgs = new CommandLineArgs(args); lineArgs.parseArgs(); return lineArgs; }
private void testFailure(String[] args, String reason) { try { parseArgs(args); fail("Exception expected for reason: " + reason); } catch (Exception e) { // ok } }
@Test public void testFormatOption() throws Exception { CommandLineArgs lineArgs; lineArgs = parseArgs("Reproject", "-t", "target.h5", "-f", "HDF-5", "source.dim"); assertEquals("HDF-5", lineArgs.getTargetFormatName()); lineArgs = parseArgs("Reproject", "-f", "GeoTIFF", "-t", "target.tif", "source.dim"); assertEquals("GeoTIFF", lineArgs.getTargetFormatName()); lineArgs = parseArgs("Reproject", "-f", "BEAM-DIMAP", "-t", "target.dim", "source.dim"); assertEquals("BEAM-DIMAP", lineArgs.getTargetFormatName()); }
@Test public void testMetadataFileOption() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject"); assertEquals(null, lineArgs.getMetadataFilePath()); lineArgs = parseArgs("Reproject", "-m", "metadata/reproject-md.properties"); assertEquals("metadata/reproject-md.properties", lineArgs.getMetadataFilePath()); }
@Test public void testParameterOptions() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-PpixelSizeX=0.02", "-PpixelSizeY=0.03", "-PpixelOffsetX=0.5", "-PpixelOffsetY=1.0", "source.dim"); SortedMap<String, String> parameterMap = lineArgs.getParameterMap(); assertEquals("0.02", parameterMap.get("pixelSizeX")); assertEquals("0.03", parameterMap.get("pixelSizeY")); assertEquals("0.5", parameterMap.get("pixelOffsetX")); assertEquals("1.0", parameterMap.get("pixelOffsetY")); }
@Test public void testFormatDetection() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-t", "target.dim", "source.dim"); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); String[] args = {"Reproject", "source.dim"}; lineArgs = parseArgs(args); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); }
@Test public void testSystemProperties() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-Dfoo=bar", "-Dbeam.performance=lightning"); Map<String, String> systemPropertiesMap = lineArgs.getSystemPropertiesMap(); assertNotNull(systemPropertiesMap); assertEquals(2, systemPropertiesMap.size()); assertEquals("bar", systemPropertiesMap.get("foo")); assertEquals("lightning", systemPropertiesMap.get("beam.performance")); }
@Test public void testNoArgsRequestsHelp() throws Exception { CommandLineArgs lineArgs = parseArgs(); assertEquals(true, lineArgs.isHelpRequested()); }
@Test public void testSourceOptions() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-SndviProduct=./inp/NDVI.dim", "-ScloudProduct=./inp/cloud-mask.dim", "-Pthreshold=5.0", "source.dim"); SortedMap<String, String> sourceMap = lineArgs.getSourceFilePathMap(); assertNotNull(sourceMap); assertEquals("./inp/NDVI.dim", sourceMap.get("ndviProduct")); assertEquals("./inp/cloud-mask.dim", sourceMap.get("cloudProduct")); }
@Test public void testParametersFileOption() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "source.dim", "-p", "param.properties"); assertEquals("param.properties", lineArgs.getParameterFilePath()); }
@Test public void testClearCacheAfterRowWrite() throws Exception { CommandLineArgs lineArgs; // test default value lineArgs = parseArgs("Reproject", "-x"); assertEquals(true, lineArgs.isClearCacheAfterRowWrite()); }
@Test public void testMultiSourceOptions() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-Sndvi=./inp/NDVI.dim", "./inp/cloud-mask.dim", "source.dim", "input.dim"); SortedMap<String, String> sourceMap = lineArgs.getSourceFilePathMap(); assertNotNull(sourceMap); assertEquals("./inp/cloud-mask.dim", sourceMap.get("sourceProduct")); assertEquals("./inp/cloud-mask.dim", sourceMap.get("sourceProduct.1")); assertEquals("./inp/cloud-mask.dim", sourceMap.get("sourceProduct1")); // test for backward compatibility assertEquals("source.dim", sourceMap.get("sourceProduct.2")); assertEquals("source.dim", sourceMap.get("sourceProduct2")); // test for backward compatibility assertEquals("input.dim", sourceMap.get("sourceProduct.3")); assertEquals("input.dim", sourceMap.get("sourceProduct3")); // test for backward compatibility assertEquals("./inp/NDVI.dim", sourceMap.get("ndvi")); }
@Test public void testArgsCloned() throws Exception { String[] args = {"Reproject", "ProjTarget.dim", "UnProjSource.dim"}; CommandLineArgs lineArgs = CommandLineArgs.parseArgs(args); assertTrue(args != lineArgs.getArgs()); assertArrayEquals(args, lineArgs.getArgs()); }
@Test public void testOpWithSource() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "source.dim"); assertEquals("Reproject", lineArgs.getOperatorName()); assertEquals(null, lineArgs.getGraphFilePath()); assertEquals(CommandLineArgs.DEFAULT_TARGET_FILEPATH, lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> sourceMap = lineArgs.getSourceFilePathMap(); assertNotNull(sourceMap); assertEquals(3, sourceMap.size()); assertEquals("source.dim", sourceMap.get("sourceProduct")); assertEquals("source.dim", sourceMap.get("sourceProduct.1")); assertEquals("source.dim", sourceMap.get("sourceProduct1")); // test for backward compatibility }
@Test public void testMinimumGraph() throws Exception { CommandLineArgs lineArgs = parseArgs("./map-proj.xml", "source.dim"); assertEquals(null, lineArgs.getOperatorName()); assertEquals("./map-proj.xml", lineArgs.getGraphFilePath()); assertEquals(CommandLineArgs.DEFAULT_TARGET_FILEPATH, lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> map = lineArgs.getSourceFilePathMap(); assertNotNull(map); assertEquals("source.dim", map.get("sourceProduct")); assertEquals("source.dim", map.get("sourceProduct.1")); assertEquals("source.dim", map.get("sourceProduct1")); // test for backward compatibility }
@Test public void testOpWithTargetAndSource() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-t", "output.dim", "source.dim"); assertEquals("Reproject", lineArgs.getOperatorName()); assertEquals(null, lineArgs.getGraphFilePath()); assertEquals("output.dim", lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> sourceMap = lineArgs.getSourceFilePathMap(); assertNotNull(sourceMap); assertEquals(3, sourceMap.size()); assertEquals("source.dim", sourceMap.get("sourceProduct")); assertEquals("source.dim", sourceMap.get("sourceProduct.1")); assertEquals("source.dim", sourceMap.get("sourceProduct1")); // test for backward compatibility }
@Test public void testHelpOption() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject", "-h"); assertEquals(true, lineArgs.isHelpRequested()); assertEquals("Reproject", lineArgs.getOperatorName()); assertEquals(null, lineArgs.getGraphFilePath()); assertEquals(CommandLineArgs.DEFAULT_TARGET_FILEPATH, lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> map = lineArgs.getSourceFilePathMap(); assertNotNull(map); assertEquals(0, map.size()); }
@Test public void testOpOnly() throws Exception { CommandLineArgs lineArgs = parseArgs("Reproject"); assertEquals(false, lineArgs.isHelpRequested()); assertEquals("Reproject", lineArgs.getOperatorName()); assertEquals(null, lineArgs.getGraphFilePath()); assertEquals(CommandLineArgs.DEFAULT_TARGET_FILEPATH, lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> map = lineArgs.getSourceFilePathMap(); assertNotNull(map); assertEquals(0, map.size()); }
@Test public void testGraphOnly() throws Exception { CommandLineArgs lineArgs = parseArgs("./map-proj.xml"); assertEquals(null, lineArgs.getOperatorName()); assertEquals("./map-proj.xml", lineArgs.getGraphFilePath()); assertEquals(CommandLineArgs.DEFAULT_TARGET_FILEPATH, lineArgs.getTargetFilePath()); assertEquals(CommandLineArgs.DEFAULT_FORMAT_NAME, lineArgs.getTargetFormatName()); SortedMap<String, String> map = lineArgs.getSourceFilePathMap(); assertNotNull(map); }