### Question:
CciL4FileType extends AbstractCciFileType { @Override public String getFilenameRegex() { return "\\d{14}-ESACCI-L4_GHRSST-SST((skin)|(subskin)|(depth)|(fnd))-OSTIA-GLOB_((LT)|(DM))-v\\d{1,2}\\.\\d{1}-fv\\d{1,2}\\.\\d{1}.nc"; }  @Override String getFilenameRegex(); @Override AggregationContext readSourceGrids(NetcdfFile datafile, SstDepth sstDepth,
                                              AggregationContext context); @Override Variable[] addResultVariables(NetcdfFileWriteable datafile, Dimension[] dims, SstDepth sstDepth); @Override AggregationFactory<SameMonthAggregation<AggregationCell>> getSameMonthAggregationFactory(); @Override AggregationFactory<MultiMonthAggregation<RegionalAggregation>> getMultiMonthAggregationFactory(); @Override CellFactory<SpatialAggregationCell> getCellFactory5(final AggregationContext context); @Override CellFactory<CellAggregationCell<AggregationCell>> getCellFactory90(final AggregationContext context);  }### Answer:
@Test public void testFileNameRegex() throws Exception { assertTrue("20000701120000-ESACCI-L4_GHRSST-SSTdepth-OSTIA-GLOB_LT-v02.0-fv01.0.nc".matches(FILE_TYPE.getFilenameRegex())); assertTrue("20000701120000-ESACCI-L4_GHRSST-SSTskin-OSTIA-GLOB_LT-v02.0-fv01.0.nc".matches(FILE_TYPE.getFilenameRegex())); assertTrue("20000701120000-ESACCI-L4_GHRSST-SSTsubskin-OSTIA-GLOB_LT-v02.0-fv01.0.nc".matches(FILE_TYPE.getFilenameRegex())); assertTrue("20000701120000-ESACCI-L4_GHRSST-SSTfnd-OSTIA-GLOB_LT-v02.0-fv01.0.nc".matches(FILE_TYPE.getFilenameRegex())); }