Index: trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java (revision 10467)
@@ -12,7 +12,9 @@
import java.text.MessageFormat;
import java.util.Locale;
+import java.util.TimeZone;
import org.openstreetmap.josm.data.projection.Projections;
import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.gui.layer.LayerManagerTest.TestLayer;
import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
import org.openstreetmap.josm.gui.util.GuiHelper;
@@ -88,4 +90,5 @@
}
System.setProperty("josm.home", josmHome);
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
Main.initApplicationPreferences();
Main.pref.enableSaveOnPut(false);
@@ -96,4 +99,5 @@
Main.platform.preStartupHook();
+ Main.logLevel = 3;
Main.pref.init(false);
I18n.set(Main.pref.get("language", "en"));
@@ -127,4 +131,9 @@
private void setupGUI() {
+ Main.getLayerManager().resetState();
+ assertTrue(Main.getLayerManager().getLayers().isEmpty());
+ assertNull(Main.getLayerManager().getEditLayer());
+ assertNull(Main.getLayerManager().getActiveLayer());
+
if (Main.toolbar == null) {
Main.toolbar = new ToolbarPreferences();
@@ -133,8 +142,6 @@
new MainApplication().initialize();
}
- Main.getLayerManager().resetState();
- assertTrue(Main.getLayerManager().getLayers().isEmpty());
- assertNull(Main.getLayerManager().getEditLayer());
- assertNull(Main.getLayerManager().getActiveLayer());
+ // Add a test layer to the layer manager to get the MapFrame
+ Main.getLayerManager().addLayer(new TestLayer());
}
}
Index: trunk/test/unit/org/openstreetmap/josm/data/AutosaveTaskTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/AutosaveTaskTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/data/AutosaveTaskTest.java (revision 10467)
@@ -92,5 +92,6 @@
Date fixed = cal.getTime();
- for (int i = 0; i <= AutosaveTask.PROP_INDEX_LIMIT.get() + 1; i++) {
+ AutosaveTask.PROP_INDEX_LIMIT.put(5);
+ for (int i = 0; i <= AutosaveTask.PROP_INDEX_LIMIT.get() + 2; i++) {
// Only retry 2 indexes to avoid 1000*1000 disk operations
File f = task.getNewLayerFile(info, fixed, Math.max(0, i - 2));
Index: trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.groovy
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.groovy (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/data/PreferencesTest.groovy (revision 10467)
@@ -37,6 +37,6 @@
" %n" +
" %n" +
- " %n" +
- "%n", Version.getInstance().getVersion())
+ " %n" +
+ "%n", Version.getInstance().getVersion(), Main.pref.get("osm-server.username"))
}
}
Index: trunk/test/unit/org/openstreetmap/josm/data/validation/tests/OpeningHourTestTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/validation/tests/OpeningHourTestTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/data/validation/tests/OpeningHourTestTest.java (revision 10467)
@@ -17,6 +17,6 @@
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
import org.openstreetmap.josm.data.osm.Tag;
import org.openstreetmap.josm.data.validation.Severity;
@@ -25,11 +25,21 @@
import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetReader;
import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
/**
* JUnit Test of "Opening hours" validation test.
+ * @see OpeningHourTest
*/
public class OpeningHourTestTest {
-
- private static final OpeningHourTest OPENING_HOUR_TEST = new OpeningHourTest();
+ /**
+ * We need prefs for this. We check strings so we need i18n.
+ */
+ @Rule
+ @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+ public JOSMTestRules test = new JOSMTestRules().preferences().i18n();
+
+ private OpeningHourTest openingHourTest;
/**
@@ -39,6 +49,6 @@
@Before
public void setUp() throws Exception {
- JOSMFixture.createUnitTestFixture().init();
- OPENING_HOUR_TEST.initialize();
+ openingHourTest = new OpeningHourTest();
+ openingHourTest.initialize();
}
@@ -50,13 +60,13 @@
final String key = "opening_hours";
// frequently used tags according to https://taginfo.openstreetmap.org/keys/opening_hours#values
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "24/7"), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 08:30-20:00"), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr sunrise-sunset"), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "09:00-21:00"), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise"), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise"), hasSize(1));
- assertEquals(Severity.OTHER, OPENING_HOUR_TEST.checkOpeningHourSyntax(
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "24/7"), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 08:30-20:00"), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr sunrise-sunset"), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "09:00-21:00"), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise"), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise"), hasSize(1));
+ assertEquals(Severity.OTHER, openingHourTest.checkOpeningHourSyntax(
key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise").get(0).getSeverity());
- assertEquals("Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise", OPENING_HOUR_TEST.checkOpeningHourSyntax(
+ assertEquals("Su-Th sunset-24:00,04:00-sunrise; Fr-Sa sunset-sunrise", openingHourTest.checkOpeningHourSyntax(
key, "Su-Th sunset-24:00, 04:00-sunrise; Fr-Sa sunset-sunrise").get(0).getPrettifiedValue());
}
@@ -64,7 +74,7 @@
@Test
public void testI18n() {
- assertTrue(OPENING_HOUR_TEST.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "de")
+ assertTrue(openingHourTest.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "de")
.get(0).toString().contains("Unerwartetes Zeichen"));
- assertFalse(OPENING_HOUR_TEST.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "en")
+ assertFalse(openingHourTest.checkOpeningHourSyntax("opening_hours", ".", OpeningHourTest.CheckMode.POINTS_IN_TIME, false, "en")
.get(0).toString().contains("Unerwartetes Zeichen"));
}
@@ -76,5 +86,5 @@
public void testCheckOpeningHourSyntax2() {
final String key = "opening_hours";
- final List errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Tue");
+ final List errors = openingHourTest.checkOpeningHourSyntax(key, "Mo-Tue");
assertThat(errors, hasSize(2));
assertEquals(key + " - Mo-Tue <--- (Please use the abbreviation \"Tu\" for \"tue\".)", errors.get(0).getMessage());
@@ -92,5 +102,5 @@
public void testCheckOpeningHourSyntax3() {
final String key = "opening_hours";
- final List errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Sa-Su 10.00-20.00");
+ final List errors = openingHourTest.checkOpeningHourSyntax(key, "Sa-Su 10.00-20.00");
assertThat(errors, hasSize(2));
assertEquals(key + " - Sa-Su 10. <--- (Please use \":\" as hour/minute-separator)", errors.get(0).getMessage());
@@ -106,7 +116,7 @@
@Test
public void testCheckOpeningHourSyntax4() {
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(null, null), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(null, ""), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(null, " "), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(null, null), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(null, ""), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(null, " "), isEmpty());
}
@@ -117,11 +127,11 @@
public void testCheckOpeningHourSyntax5() {
final String key = "opening_hours";
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "badtext"), hasSize(1));
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "badtext"), hasSize(1));
assertEquals(key + " - ba <--- (Unexpected token: \"b\" Invalid/unsupported syntax.)",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "badtext").get(0).getMessage());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m"), hasSize(1));
+ openingHourTest.checkOpeningHourSyntax(key, "badtext").get(0).getMessage());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m"), hasSize(1));
assertEquals(key + " - 5.00 p <--- (hyphen (-) or open end (+) in time range expected. "
+ "For working with points in time, the mode for opening_hours.js has to be altered. Maybe wrong tag?)",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m").get(0).getMessage());
+ openingHourTest.checkOpeningHourSyntax(key, "5.00 p.m-11.00 p.m").get(0).getMessage());
}
@@ -132,5 +142,5 @@
public void testCheckOpeningHourSyntax6() {
final String key = "opening_hours";
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "PH open \"always open on public holidays\""), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "PH open \"always open on public holidays\""), isEmpty());
}
@@ -141,7 +151,7 @@
public void testCheckOpeningHourSyntax7() {
final String key = "opening_hours";
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00"), hasSize(1));
- assertEquals(Severity.OTHER, OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getSeverity());
- assertEquals("09:00-18:00", OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getPrettifiedValue());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00"), hasSize(1));
+ assertEquals(Severity.OTHER, openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getSeverity());
+ assertEquals("09:00-18:00", openingHourTest.checkOpeningHourSyntax(key, "9:00-18:00").get(0).getPrettifiedValue());
}
@@ -152,9 +162,9 @@
public void testCheckOpeningHourSyntaxTicket9367() {
final String key = "opening_hours";
- assertEquals(Severity.WARNING, OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getSeverity());
+ assertEquals(Severity.WARNING, openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getSeverity());
assertEquals(key + " - Mo,Tu 04-17 <--- (Time range without minutes specified. "
+ "Not very explicit! Please use this syntax instead \"04:00-17:00\".)",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getMessage());
- assertEquals("Mo,Tu 04:00-17:00", OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getPrettifiedValue());
+ openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getMessage());
+ assertEquals("Mo,Tu 04:00-17:00", openingHourTest.checkOpeningHourSyntax(key, "Mo,Tu 04-17").get(0).getPrettifiedValue());
}
@@ -166,17 +176,17 @@
final String key = "service_times";
// frequently used tags according to https://taginfo.openstreetmap.org/keys/service_times#values
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su 10:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "automatic", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Sa 09:00-18:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Su 09:30; We 19:30", OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00",
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su 10:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "automatic", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Sa 09:00-18:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Su 09:30; We 19:30", OpeningHourTest.CheckMode.BOTH), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00",
OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
OpeningHourTest.CheckMode.BOTH), hasSize(1));
assertEquals("Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
+ openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue());
assertEquals("Mo-Fr 00:00-00:30,04:00-00:30; Sa,Su,PH 00:00-24:00",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
+ openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 0:00-0:30,4:00-00:30; Sa,Su,PH 0:00-24:00",
OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue());
}
@@ -189,16 +199,16 @@
final String key = "collection_times";
// frequently used tags according to https://taginfo.openstreetmap.org/keys/collection_times#values
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Sa 09:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "fixme", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "daily", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00",
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Sa 09:00", OpeningHourTest.CheckMode.BOTH), isEmpty());
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "fixme", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "daily", OpeningHourTest.CheckMode.BOTH), not(isEmpty()));
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00",
OpeningHourTest.CheckMode.BOTH), isEmpty());
- assertThat(OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
+ assertThat(openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
OpeningHourTest.CheckMode.BOTH), hasSize(1));
assertEquals(Severity.OTHER,
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
+ openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
OpeningHourTest.CheckMode.BOTH).get(0).getSeverity());
assertEquals("Mo-Fr 13:30,17:45,19:00; Sa 15:00; Su 11:00",
- OPENING_HOUR_TEST.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
+ openingHourTest.checkOpeningHourSyntax(key, "Mo-Fr 13:30, 17:45, 19:00; Sa 15:00; Su 11:00",
OpeningHourTest.CheckMode.BOTH).get(0).getPrettifiedValue());
}
@@ -222,5 +232,5 @@
}
for (final Tag t : values) {
- final List errors = OPENING_HOUR_TEST.checkOpeningHourSyntax(t.getKey(), t.getValue());
+ final List errors = openingHourTest.checkOpeningHourSyntax(t.getKey(), t.getValue());
assertThat(t + " is valid", errors, isEmpty());
}
Index: trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityActionTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/gui/dialogs/layer/LayerVisibilityActionTest.java (revision 10467)
@@ -6,7 +6,6 @@
import static org.junit.Assert.assertTrue;
-import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -14,4 +13,7 @@
import org.openstreetmap.josm.gui.layer.TMSLayer;
import org.openstreetmap.josm.gui.layer.TMSLayerTest;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
/**
@@ -19,12 +21,10 @@
*/
public class LayerVisibilityActionTest {
-
/**
- * Setup tests
+ * TMS layer needs prefs. Platform for LayerListDialog shortcuts.
*/
- @BeforeClass
- public static void setUpBeforeClass() {
- JOSMFixture.createUnitTestFixture().init(true);
- }
+ @Rule
+ @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+ public JOSMTestRules test = new JOSMTestRules().preferences().projection().platform();
/**
@@ -34,59 +34,60 @@
public void testLayerVisibilityAction() {
TMSLayer layer = TMSLayerTest.createTmsLayer();
- try {
- LayerListModel model = LayerListDialog.getInstance().getModel();
- LayerVisibilityAction action = new LayerVisibilityAction(model);
- action.updateEnabledState();
- assertFalse(action.isEnabled());
+ LayerListModel model = new LayerListDialog(Main.getLayerManager()) {
+ @Override
+ protected void registerInWindowMenu() {
+ // ignore
+ }
+ }.getModel();
+ LayerVisibilityAction action = new LayerVisibilityAction(model);
+ action.updateEnabledState();
+ assertFalse(action.isEnabled());
- Main.getLayerManager().addLayer(layer);
- action.updateEnabledState();
- assertTrue(action.isEnabled());
- assertTrue(action.supportLayers(model.getSelectedLayers()));
+ Main.getLayerManager().addLayer(layer);
+ model.setSelectedLayer(layer);
+ action.updateEnabledState();
+ assertTrue(action.isEnabled());
+ assertTrue(action.supportLayers(model.getSelectedLayers()));
- // now check values
- action.updateValues();
- assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
- assertEquals("OpacitySlider [getRealValue()=1.0]", action.opacitySlider.toString());
+ // now check values
+ action.updateValues();
+ assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
+ assertEquals("OpacitySlider [getRealValue()=1.0]", action.opacitySlider.toString());
- action.opacitySlider.setRealValue(.5);
- action.updateValues();
+ action.opacitySlider.setRealValue(.5);
+ action.updateValues();
- assertEquals(0.5, action.opacitySlider.getRealValue(), 1e-15);
- assertEquals("OpacitySlider [getRealValue()=0.5]", action.opacitySlider.toString());
+ assertEquals(0.5, action.opacitySlider.getRealValue(), 1e-15);
+ assertEquals("OpacitySlider [getRealValue()=0.5]", action.opacitySlider.toString());
- action.setVisibleFlag(false);
- action.updateValues();
- assertFalse(layer.isVisible());
+ action.setVisibleFlag(false);
+ action.updateValues();
+ assertFalse(layer.isVisible());
- action.setVisibleFlag(true);
- action.updateValues();
- assertTrue(layer.isVisible());
+ action.setVisibleFlag(true);
+ action.updateValues();
+ assertTrue(layer.isVisible());
- // layer stays visible during adjust
- action.opacitySlider.setValueIsAdjusting(true);
- action.opacitySlider.setRealValue(0);
- assertEquals(0, layer.getOpacity(), 1e-15);
- layer.setOpacity(.1); // to make layer.isVisible work
- assertTrue(layer.isVisible());
- layer.setOpacity(0);
+ // layer stays visible during adjust
+ action.opacitySlider.setValueIsAdjusting(true);
+ action.opacitySlider.setRealValue(0);
+ assertEquals(0, layer.getOpacity(), 1e-15);
+ layer.setOpacity(.1); // to make layer.isVisible work
+ assertTrue(layer.isVisible());
+ layer.setOpacity(0);
- action.opacitySlider.setValueIsAdjusting(false);
- action.opacitySlider.setRealValue(0);
- assertEquals(0, layer.getOpacity(), 1e-15);
- layer.setOpacity(.1); // to make layer.isVisible work
- assertFalse(layer.isVisible());
- layer.setOpacity(0);
- action.updateValues();
+ action.opacitySlider.setValueIsAdjusting(false);
+ action.opacitySlider.setRealValue(0);
+ assertEquals(0, layer.getOpacity(), 1e-15);
+ layer.setOpacity(.1); // to make layer.isVisible work
+ assertFalse(layer.isVisible());
+ layer.setOpacity(0);
+ action.updateValues();
- // Opacity reset when it was 0 and user set layer to visible.
- action.setVisibleFlag(true);
- action.updateValues();
- assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
- assertEquals(1.0, layer.getOpacity(), 1e-15);
-
- } finally {
- Main.getLayerManager().removeLayer(layer);
- }
+ // Opacity reset when it was 0 and user set layer to visible.
+ action.setVisibleFlag(true);
+ action.updateValues();
+ assertEquals(1.0, action.opacitySlider.getRealValue(), 1e-15);
+ assertEquals(1.0, layer.getOpacity(), 1e-15);
}
}
Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/GpxLayerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/GpxLayerTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/GpxLayerTest.java (revision 10467)
@@ -11,4 +11,5 @@
import java.util.Collection;
import java.util.HashMap;
+import java.util.TimeZone;
import javax.swing.JScrollPane;
@@ -171,4 +172,7 @@
new ImmutableGpxTrack(new ArrayList>(), new HashMap())));
+ assertEquals("1/3/16 11:59 AM - 12:00 PM (0:00)", GpxLayer.getTimespanForTrack(getMinimalGpxData().tracks.iterator().next()));
+
+ TimeZone.setDefault(TimeZone.getTimeZone("Europe/Berlin"));
assertEquals("1/3/16 12:59 PM - 1:00 PM (0:00)", GpxLayer.getTimespanForTrack(getMinimalGpxData().tracks.iterator().next()));
}
Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerManagerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerManagerTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/LayerManagerTest.java (revision 10467)
@@ -11,4 +11,6 @@
import static org.junit.Assert.fail;
+import java.awt.Component;
+import java.awt.Graphics;
import java.awt.Graphics2D;
import java.lang.reflect.InvocationTargetException;
@@ -41,6 +43,13 @@
public class LayerManagerTest {
- protected static class AbstractTestLayer extends Layer {
- protected AbstractTestLayer() {
+ /**
+ * This is a layer that can be used in tests. It does not do anything and provides a simple, fake implementation.
+ * @author Michael Zangl
+ */
+ public static class TestLayer extends Layer {
+ /**
+ * Create a new test layer.
+ */
+ public TestLayer() {
super("Test Layer");
}
@@ -70,5 +79,5 @@
@Override
public Action[] getMenuEntries() {
- return null;
+ return new Action[0];
}
@@ -80,5 +89,20 @@
@Override
public Icon getIcon() {
- return null;
+ return new Icon() {
+ @Override
+ public void paintIcon(Component c, Graphics g, int x, int y) {
+ // nop
+ }
+
+ @Override
+ public int getIconWidth() {
+ return 10;
+ }
+
+ @Override
+ public int getIconHeight() {
+ return 10;
+ }
+ };
}
@@ -89,5 +113,5 @@
}
- protected static class AbstractTestLayer2 extends AbstractTestLayer {}
+ protected static class TestLayer2 extends TestLayer {}
/**
@@ -147,5 +171,5 @@
@Test
public void testAddLayer() {
- Layer layer1 = new AbstractTestLayer() {
+ Layer layer1 = new TestLayer() {
@Override
public LayerPositionStrategy getDefaultLayerPosition() {
@@ -158,5 +182,5 @@
}
};
- Layer layer2 = new AbstractTestLayer() {
+ Layer layer2 = new TestLayer() {
@Override
public LayerPositionStrategy getDefaultLayerPosition() {
@@ -164,5 +188,5 @@
}
};
- Layer layer3 = new AbstractTestLayer() {
+ Layer layer3 = new TestLayer() {
@Override
public LayerPositionStrategy getDefaultLayerPosition() {
@@ -179,5 +203,5 @@
// event
- AbstractTestLayer layer4 = new AbstractTestLayer();
+ TestLayer layer4 = new TestLayer();
CapturingLayerChangeListener l = new CapturingLayerChangeListener();
layerManager.addLayerChangeListener(l);
@@ -198,5 +222,5 @@
thrown.expectRootCause(any(IllegalArgumentException.class));
- AbstractTestLayer layer1 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer1);
@@ -212,5 +236,5 @@
thrown.expectRootCause(any(IndexOutOfBoundsException.class));
- AbstractTestLayer layer1 = new AbstractTestLayer() {
+ TestLayer layer1 = new TestLayer() {
@Override
public LayerPositionStrategy getDefaultLayerPosition() {
@@ -231,6 +255,6 @@
@Test
public void testRemoveLayer() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
@@ -252,6 +276,6 @@
@Test
public void testMoveLayer() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
@@ -284,6 +308,6 @@
thrown.expectRootCause(any(IndexOutOfBoundsException.class));
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
@@ -300,6 +324,6 @@
thrown.expectRootCause(any(IllegalArgumentException.class));
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.moveLayer(layer2, 0);
@@ -312,6 +336,6 @@
public void testGetLayers() {
// list should be immutable
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
@@ -324,11 +348,11 @@
@Test
public void testGetLayersOfType() {
- AbstractTestLayer2 layer1 = new AbstractTestLayer2();
- AbstractTestLayer2 layer2 = new AbstractTestLayer2();
- layerManager.addLayer(layer1);
- layerManager.addLayer(new AbstractTestLayer());
- layerManager.addLayer(layer2);
-
- assertEquals(layerManager.getLayersOfType(AbstractTestLayer2.class), Arrays.asList(layer1, layer2));
+ TestLayer2 layer1 = new TestLayer2();
+ TestLayer2 layer2 = new TestLayer2();
+ layerManager.addLayer(layer1);
+ layerManager.addLayer(new TestLayer());
+ layerManager.addLayer(layer2);
+
+ assertEquals(layerManager.getLayersOfType(TestLayer2.class), Arrays.asList(layer1, layer2));
}
@@ -338,10 +362,10 @@
@Test
public void testContainsLayer() {
- AbstractTestLayer layer = new AbstractTestLayer();
+ TestLayer layer = new TestLayer();
layerManager.addLayer(layer);
- layerManager.addLayer(new AbstractTestLayer());
+ layerManager.addLayer(new TestLayer());
assertTrue(layerManager.containsLayer(layer));
- assertFalse(layerManager.containsLayer(new AbstractTestLayer()));
+ assertFalse(layerManager.containsLayer(new TestLayer()));
}
@@ -374,6 +398,6 @@
public void testAddLayerChangeListenerFire() {
final ArrayList fired = new ArrayList<>();
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
@@ -405,7 +429,7 @@
CapturingLayerChangeListener l = new CapturingLayerChangeListener();
layerManager.addLayerChangeListener(l);
- layerManager.addLayer(new AbstractTestLayer());
+ layerManager.addLayer(new TestLayer());
layerManager.removeLayerChangeListener(l);
- layerManager.addLayer(new AbstractTestLayer());
+ layerManager.addLayer(new TestLayer());
// threw exception when fired twice.
assertNotNull(l.layerAdded);
@@ -429,6 +453,6 @@
public void testRemoveLayerChangeListenerFire() {
final ArrayList fired = new ArrayList<>();
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManager.addLayer(layer1);
layerManager.addLayer(layer2);
Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/MainLayerManagerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/MainLayerManagerTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/MainLayerManagerTest.java (revision 10467)
@@ -68,7 +68,7 @@
@Test
public void testAddLayerSetsActiveLayer() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
- AbstractTestLayer layer3 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
+ TestLayer layer3 = new TestLayer();
assertNull(layerManagerWithActive.getActiveLayer());
assertNull(layerManagerWithActive.getEditLayer());
@@ -86,7 +86,7 @@
@Test
public void testRemoveLayerUnsetsActiveLayer() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
- AbstractTestLayer layer3 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
+ TestLayer layer3 = new TestLayer();
AbstractTestOsmLayer layer4 = new AbstractTestOsmLayer();
layerManagerWithActive.addLayer(layer1);
@@ -116,5 +116,5 @@
@Test
public void testAddActiveLayerChangeListener() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
layerManagerWithActive.addLayer(layer1);
@@ -154,5 +154,5 @@
@Test
public void testRemoveActiveLayerChangeListener() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
layerManagerWithActive.addLayer(layer1);
@@ -182,6 +182,6 @@
@Test
public void testSetGetActiveLayer() {
- AbstractTestLayer layer1 = new AbstractTestLayer();
- AbstractTestLayer layer2 = new AbstractTestLayer();
+ TestLayer layer1 = new TestLayer();
+ TestLayer layer2 = new TestLayer();
layerManagerWithActive.addLayer(layer1);
layerManagerWithActive.addLayer(layer2);
@@ -200,5 +200,5 @@
public void testGetEditDataSet() {
assertNull(layerManagerWithActive.getEditDataSet());
- AbstractTestLayer layer0 = new AbstractTestLayer();
+ TestLayer layer0 = new TestLayer();
layerManagerWithActive.addLayer(layer0);
assertNull(layerManagerWithActive.getEditDataSet());
@@ -223,8 +223,8 @@
AbstractTestOsmLayer layer1 = new AbstractTestOsmLayer();
AbstractTestOsmLayer layer2 = new AbstractTestOsmLayer();
- AbstractTestLayer layer3 = new AbstractTestLayer();
+ TestLayer layer3 = new TestLayer();
layer3.setVisible(false);
AbstractTestOsmLayer layer4 = new AbstractTestOsmLayer();
- AbstractTestLayer layer5 = new AbstractTestLayer();
+ TestLayer layer5 = new TestLayer();
AbstractTestOsmLayer layer6 = new AbstractTestOsmLayer();
AbstractTestOsmLayer layer7 = new AbstractTestOsmLayer();
Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java (revision 10467)
@@ -10,7 +10,6 @@
import java.util.List;
-import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.TestUtils;
@@ -18,4 +17,7 @@
import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.Loader;
import org.openstreetmap.josm.io.GpxReader;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
/**
@@ -23,12 +25,11 @@
*/
public class GeoImageLayerTest {
+ /**
+ * We need prefs for this.
+ */
+ @Rule
+ @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+ public JOSMTestRules test = new JOSMTestRules().preferences();
- /**
- * Setup test.
- */
- @BeforeClass
- public static void setUpBeforeClass() {
- JOSMFixture.createUnitTestFixture().init(true);
- }
/**
@@ -42,26 +43,16 @@
assertTrue(reader.parse(true));
GpxLayer gpxLayer = new GpxLayer(reader.getGpxData());
- try {
- Main.getLayerManager().addLayer(gpxLayer);
- assertEquals(1, Main.getLayerManager().getLayers().size());
- new Loader(
- Collections.singleton(new File(TestUtils.getRegressionDataFile(12255, "G0016941.JPG"))),
- gpxLayer).run();
- assertEquals(2, Main.getLayerManager().getLayers().size());
- GeoImageLayer layer = Main.getLayerManager().getLayersOfType(GeoImageLayer.class).iterator().next();
- try {
- assertEquals(gpxLayer, layer.getGpxLayer());
- List images = layer.getImages();
- assertEquals(1, images.size());
- assertEquals("1 image loaded. 0 were found to be GPS tagged.", layer.getInfoComponent());
- assertEquals("1 image loaded. 0 were found to be GPS tagged.", layer.getToolTipText());
- } finally {
- // Ensure we clean the place before leaving, even if test fails.
- Main.getLayerManager().removeLayer(layer);
- }
- } finally {
- // Ensure we clean the place before leaving, even if test fails.
- Main.getLayerManager().removeLayer(gpxLayer);
- }
+ Main.getLayerManager().addLayer(gpxLayer);
+ assertEquals(1, Main.getLayerManager().getLayers().size());
+ new Loader(
+ Collections.singleton(new File(TestUtils.getRegressionDataFile(12255, "G0016941.JPG"))),
+ gpxLayer).run();
+ assertEquals(2, Main.getLayerManager().getLayers().size());
+ GeoImageLayer layer = Main.getLayerManager().getLayersOfType(GeoImageLayer.class).iterator().next();
+ assertEquals(gpxLayer, layer.getGpxLayer());
+ List images = layer.getImages();
+ assertEquals(1, images.size());
+ assertEquals("1 image loaded. 0 were found to be GPS tagged.", layer.getInfoComponent());
+ assertEquals("1 image loaded. 0 were found to be GPS tagged.", layer.getToolTipText());
}
}
Index: trunk/test/unit/org/openstreetmap/josm/io/NmeaReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/NmeaReaderTest.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/io/NmeaReaderTest.java (revision 10467)
@@ -8,4 +8,5 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.TimeZone;
import org.junit.Test;
@@ -40,4 +41,5 @@
assertEquals(0, in.getParserMalformed());
+ TimeZone.setDefault(TimeZone.getTimeZone("Europe/Berlin"));
final List wayPoints = new ArrayList<>(in.data.tracks.iterator().next().getSegments().iterator().next().getWayPoints());
assertEquals("2016-01-25T04:05:09.200Z", wayPoints.get(0).get(GpxConstants.PT_TIME));
Index: trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java (revision 10462)
+++ trunk/test/unit/org/openstreetmap/josm/testutils/JOSMTestRules.java (revision 10467)
@@ -4,4 +4,5 @@
import java.io.File;
import java.io.IOException;
+import java.util.TimeZone;
import org.junit.rules.DisableOnDebug;
@@ -163,4 +164,8 @@
// Tests are running headless by default.
System.setProperty("java.awt.headless", "true");
+ // All tests use the same timezone.
+ TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
+ // Set log level to info
+ Main.logLevel = 3;
// Set up i18n