package org.esa.beam.dataio.smos; import org.esa.beam.smos.SmosUtils; import org.esa.beam.util.io.BeamFileFilter; import org.junit.Before; import org.junit.Test; import java.io.File; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; public class SmosProductReaderPluginTest { private SmosProductReaderPlugIn plugIn; @Before public void setUp() { plugIn = new SmosProductReaderPlugIn(); } @Test public void testGetInputTypes() { final Class[] inputTypes = plugIn.getInputTypes(); assertEquals(2, inputTypes.length); assertEquals(File.class, inputTypes[0]); assertEquals(String.class, inputTypes[1]); } @Test public void testGetDefaultFileExtensions() { final String[] extensions = plugIn.getDefaultFileExtensions(); if (SmosUtils.isLightBufrTypeSupported()) { assertEquals(5, extensions.length); assertEquals(".HDR", extensions[0]); assertEquals(".DBL", extensions[1]); assertEquals(".zip", extensions[2]); assertEquals(".ZIP", extensions[3]); assertEquals(".bin", extensions[4]); } else { assertEquals(4, extensions.length); assertEquals(".HDR", extensions[0]); assertEquals(".DBL", extensions[1]); assertEquals(".zip", extensions[2]); assertEquals(".ZIP", extensions[3]); } } @Test public void testGetDescription() { final String description = plugIn.getDescription(null); assertEquals("SMOS Data Products", description); } @Test public void testGetFormatNames() { final String[] formatNames = plugIn.getFormatNames(); if (SmosUtils.isLightBufrTypeSupported()) { assertEquals(2, formatNames.length); assertEquals("SMOS-EEF", formatNames[0]); assertEquals("SMOS Light-BUFR", formatNames[1]); } else { assertEquals(1, formatNames.length); assertEquals("SMOS-EEF", formatNames[0]); } } @Test public void testGetProductFileFilter() { final BeamFileFilter productFileFilter = plugIn.getProductFileFilter(); assertArrayEquals(plugIn.getDefaultFileExtensions(), productFileFilter.getExtensions()); assertEquals(plugIn.getFormatNames()[0], productFileFilter.getFormatName()); if (SmosUtils.isLightBufrTypeSupported()) { assertEquals("SMOS Data Products (*.HDR,*.DBL,*.zip,*.ZIP,*.bin)", productFileFilter.getDescription()); } else { assertEquals("SMOS Data Products (*.HDR,*.DBL,*.zip,*.ZIP)", productFileFilter.getDescription()); } } }