### Question:
CciL3FileType extends AbstractCciFileType { @Override public CellFactory<CellAggregationCell<AggregationCell>> getCellFactory90(final AggregationContext context) { return new CellFactory<CellAggregationCell<AggregationCell>>() { @Override public Cell90 createCell(int cellX, int cellY) { return new Cell90(context, cellX, cellY); } }; }  @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); @Override String getFilenameRegex();  }### Answer:
@Test public void testCell90Aggregation_fromL3UCell5() throws Exception { final AggregationContext context = new AggregationContext(); context.setCoverageUncertaintyProvider(new MockCoverageUncertaintyProvider(1.1, 3.0, 2.5)); final CellFactory<CellAggregationCell<AggregationCell>> cell90Factory = FILE_TYPE.getCellFactory90(context); final CellAggregationCell<AggregationCell> cell90 = cell90Factory.createCell(0, 0); final AggregationCell cell5 = createCell5(); cell90.accumulate(cell5, 1.0); assertEquals(1, cell90.getSampleCount()); final Number[] results = cell90.getResults(); assertNotNull(results); assertEquals(8, results.length); assertEquals(292.0, results[Aggregation.SST].doubleValue(), 1e-6); assertEquals(0.5, results[Aggregation.SST_ANOMALY].doubleValue(), 1e-6); assertEquals(1.3421176967534105, results[Aggregation.COVERAGE_UNCERTAINTY].doubleValue(), 1e-6); assertEquals(0.01, results[Aggregation.RANDOM_UNCERTAINTY].doubleValue(), 1e-6); assertEquals(2.0, results[Aggregation.LARGE_SCALE_UNCERTAINTY].doubleValue(), 1e-6); assertEquals(Double.NaN, results[Aggregation.SYNOPTIC_UNCERTAINTY].doubleValue(), 1e-6); assertEquals(Double.NaN, results[Aggregation.ADJUSTMENT_UNCERTAINTY].doubleValue(), 1e-6); }