package org.esa.beam.smos.ee2netcdf; import org.esa.beam.framework.gpf.GPF; import org.esa.beam.util.io.FileUtils; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import ucar.nc2.util.DiskCache; import java.io.File; import java.util.HashMap; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; public class GPToNetCDFTimingTest { private final GPToNetCDFExporterOp.Spi spi; private final File targetDirectory; public GPToNetCDFTimingTest() { spi = new GPToNetCDFExporterOp.Spi(); targetDirectory = new File("timing_out"); } @Before public void setUp() { if (!targetDirectory.mkdirs()) { fail("Unable to create test directory"); } // need to move NetCDF cache dir to a directory that gets deleted tb 2014-07-04 DiskCache.setRootDirectory(targetDirectory.getAbsolutePath()); DiskCache.setCachePolicy(true); GPF.getDefaultInstance().getOperatorSpiRegistry().addOperatorSpi(spi); } @After public void tearDown() { GPF.getDefaultInstance().getOperatorSpiRegistry().removeOperatorSpi(spi); if (targetDirectory.isDirectory()) { if (!FileUtils.deleteTree(targetDirectory)) { fail("Unable to delete test directory"); } } } @Test @Ignore public void testExportWithTiming() { final File file = new File("/usr/local/data/reader_acceptance_tests/sensors_platforms/SMOS/MIR_SMUDP2/SM_OPER_MIR_SMUDP2_20120514T163815_20120514T173133_551_001_1.zip"); final HashMap<String, Object> parameterMap = createDefaultParameterMap(); parameterMap.put("sourceProductPaths", file.getAbsolutePath()); parameterMap.put("compressionLevel", 0); final long start = System.currentTimeMillis(); GPF.createProduct(GPToNetCDFExporterOp.ALIAS, parameterMap); final long stop = System.currentTimeMillis(); System.out.println("time (secs) = " + (stop - start) / 1000.0); final File outputFile = new File(targetDirectory, "SM_OPER_MIR_SMUDP2_20120514T163815_20120514T173133_551_001_1.nc"); assertTrue(outputFile.isFile()); System.out.println("size (MB) = " + outputFile.length() / (1024.0 * 1024.0)); } private HashMap<String, Object> createDefaultParameterMap() { final HashMap<String, Object> parameterMap = new HashMap<>(); parameterMap.put("targetDirectory", targetDirectory); return parameterMap; } }