### Question:
AveragingTool extends Tool { @Override protected Parameter[] getParameters() { ArrayList<Parameter> paramList = new ArrayList<>(); paramList.addAll(Arrays.asList( PARAM_SST_DEPTH, PARAM_TEMPORAL_RES, PARAM_REGION_LIST, PARAM_START_DATE, PARAM_END_DATE, PARAM_CLIMATOLOGY_DIR, PARAM_LUT1_FILE, PARAM_LUT2_FILE, PARAM_PRODUCT_TYPE, PARAM_FILENAME_REGEX, PARAM_OUTPUT_DIR, PARAM_WRITE_TEXT)); ProductType[] values = ProductType.values(); for (ProductType value : values) { paramList.add(new Parameter(value.name() + ".dir", "DIR", null, "Directory that hosts the products of type '" + value.name() + "'.")); } return paramList.toArray(new Parameter[paramList.size()]); }  static void main(String[] arguments);  }### Answer:
@Test public void testGetParameter() { final Parameter[] parameters = tool.getParameters(); assertEquals(17, parameters.length); final Parameter lut_1_parameter = getByName("lut1File", parameters); assertEquals("FILE", lut_1_parameter.getArgName()); assertEquals("./auxdata/coverage_uncertainty_parameters.nc", lut_1_parameter.getDefaultValue()); assertEquals("A NetCDF file that provides lookup table 1.", lut_1_parameter.getDescription()); final Parameter lut_2_parameter = getByName("lut2File", parameters); assertEquals("FILE", lut_2_parameter.getArgName()); assertEquals("./auxdata/RegionalAverage_LUT2.txt", lut_2_parameter.getDefaultValue()); assertEquals("A plain text file that provides lookup table 2.", lut_2_parameter.getDescription()); }