package org.esa.beam.smos.gui;
import org.esa.beam.framework.gpf.ui.DefaultAppContext;
import org.junit.Test;
import java.awt.*;
import java.io.File;
import static org.junit.Assert.assertEquals;
import static org.junit.Assume.assumeTrue;
public class GuiHelperTest {
private final boolean isGuiAvailable;
public GuiHelperTest() {
isGuiAvailable = !GraphicsEnvironment.isHeadless();
}
@Test
public void testGetDefaultSourceDirectory_fromUserHome() {
assumeTrue(isGuiAvailable);
final DefaultAppContext appContext = new DefaultAppContext("bla");
final String propertyString = appContext.getPreferences().getPropertyString("org.esa.beam.smos.export.sourceDir");
assertEquals("", propertyString);
final String expected = System.getProperty("user.home", ".");
assertEquals(expected, GuiHelper.getDefaultSourceDirectory(appContext).getPath());
}
@Test
public void testGetDefaultSourceDirectory_fromPreferences() {
assumeTrue(isGuiAvailable);
final String expected = File.separator + "another" + File.separator + "dir";
final DefaultAppContext appContext = new DefaultAppContext("bla");
appContext.getPreferences().setPropertyString("org.esa.beam.smos.export.sourceDir", expected);
assertEquals(expected, GuiHelper.getDefaultSourceDirectory(appContext).getPath());
}
@Test
public void testSetDefaultSourceDirectory_fromPreferences() {
assumeTrue(isGuiAvailable);
final DefaultAppContext appContext = new DefaultAppContext("bla");
final File file = new File("/default/source/directory");
GuiHelper.setDefaultSourceDirectory(file, appContext);
final String propertyString = appContext.getPreferences().getPropertyString("org.esa.beam.smos.export.sourceDir");
assertEquals(file.getPath(), propertyString);
}
@Test
public void testGetDefaultTargetDirectory_fromUserHome() {
assumeTrue(isGuiAvailable);
final DefaultAppContext appContext = new DefaultAppContext("bla");
final String propertyString = appContext.getPreferences().getPropertyString("org.esa.beam.smos.export.targetDir");
assertEquals("", propertyString);
final String expected = System.getProperty("user.home", ".");
assertEquals(expected, GuiHelper.getDefaultTargetDirectory(appContext).getPath());
}
@Test
public void testGetDefaultTargetDirectory_fromPreferences() {
assumeTrue(isGuiAvailable);
final String expected = File.separator + "target" + File.separator + "directory";
final DefaultAppContext appContext = new DefaultAppContext("bla");
appContext.getPreferences().setPropertyString("org.esa.beam.smos.export.targetDir", expected);
assertEquals(expected, GuiHelper.getDefaultTargetDirectory(appContext).getPath());
}
@Test
public void testSetDefaultTargetDirectory() {
assumeTrue(isGuiAvailable);
final DefaultAppContext appContext = new DefaultAppContext("schwafel");
final File file = new File("/default/target/directory");
GuiHelper.setDefaultTargetDirectory(file, appContext);
final String propertyString = appContext.getPreferences().getPropertyString("org.esa.beam.smos.export.targetDir");
assertEquals(file.getPath(), propertyString);
}
}