Index: /trunk/src/org/openstreetmap/josm/command/Command.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/Command.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/command/Command.java	(revision 13174)
@@ -10,5 +10,4 @@
 import java.util.Objects;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
Index: /trunk/src/org/openstreetmap/josm/data/StructUtils.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/StructUtils.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/data/StructUtils.java	(revision 13174)
@@ -197,5 +197,4 @@
      * @return an object of class T, initialized as described above
      */
-    @SuppressWarnings("deprecation")
     public static <T> T deserializeStruct(Map<String, String> hash, Class<T> klass) {
         T struct = null;
Index: /trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 13174)
@@ -181,5 +181,4 @@
  * @author imi
  */
-@SuppressWarnings("deprecation")
 public class MainApplication extends Main {
 
@@ -472,5 +471,4 @@
      * Should set {@link #menu} and {@link #mainPanel}
      */
-    @SuppressWarnings("deprecation")
     protected void initializeMainWindow() {
         if (mainFrame != null) {
@@ -572,5 +570,4 @@
      * @since 12636 (as a replacement to {@code Main.getLayerManager()})
      */
-    @SuppressWarnings("deprecation")
     public static MainLayerManager getLayerManager() {
         return layerManager;
@@ -625,5 +622,4 @@
      * @since 12630 (as a replacement to {@code Main.isDisplayingMapView()})
      */
-    @SuppressWarnings("deprecation")
     public static boolean isDisplayingMapView() {
         return map != null && map.mapView != null;
@@ -663,5 +659,4 @@
      * @since 12639 (as a replacement to {@code Main.addAndFireMapFrameListener})
      */
-    @SuppressWarnings("deprecation")
     public static boolean addAndFireMapFrameListener(MapFrameListener listener) {
         return mainPanel != null && mainPanel.addAndFireMapFrameListener(listener);
@@ -675,5 +670,4 @@
      * @since 12639 (as a replacement to {@code Main.addMapFrameListener})
      */
-    @SuppressWarnings("deprecation")
     public static boolean addMapFrameListener(MapFrameListener listener) {
         return mainPanel != null && mainPanel.addMapFrameListener(listener);
@@ -686,5 +680,4 @@
      * @since 12639 (as a replacement to {@code Main.removeMapFrameListener})
      */
-    @SuppressWarnings("deprecation")
     public static boolean removeMapFrameListener(MapFrameListener listener) {
         return mainPanel != null && mainPanel.removeMapFrameListener(listener);
@@ -696,5 +689,4 @@
      * @since 12639 (as a replacement to {@code Main.registerActionShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static void registerActionShortcut(JosmAction action) {
         registerActionShortcut(action, action.getShortcut());
@@ -707,5 +699,4 @@
      * @since 12639 (as a replacement to {@code Main.registerActionShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static void registerActionShortcut(Action action, Shortcut shortcut) {
         KeyStroke keyStroke = shortcut.getKeyStroke();
@@ -728,5 +719,4 @@
      * @since 12639 (as a replacement to {@code Main.unregisterShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static void unregisterShortcut(Shortcut shortcut) {
         contentPanePrivate.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).remove(shortcut.getKeyStroke());
@@ -738,5 +728,4 @@
      * @since 12639 (as a replacement to {@code Main.unregisterActionShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static void unregisterActionShortcut(JosmAction action) {
         unregisterActionShortcut(action, action.getShortcut());
@@ -749,5 +738,4 @@
      * @since 12639 (as a replacement to {@code Main.unregisterActionShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static void unregisterActionShortcut(Action action, Shortcut shortcut) {
         unregisterShortcut(shortcut);
@@ -761,5 +749,4 @@
      * @since 12639 (as a replacement to {@code Main.getRegisteredActionShortcut})
      */
-    @SuppressWarnings("deprecation")
     public static Action getRegisteredActionShortcut(Shortcut shortcut) {
         KeyStroke keyStroke = shortcut.getKeyStroke();
@@ -845,5 +832,4 @@
      * @param argArray Command-line arguments
      */
-    @SuppressWarnings("deprecation")
     public static void main(final String[] argArray) {
         I18n.init();
Index: /trunk/src/org/openstreetmap/josm/gui/MainPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainPanel.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/gui/MainPanel.java	(revision 13174)
@@ -44,5 +44,4 @@
      * @param showMap If the map should be displayed.
      */
-    @SuppressWarnings("deprecation")
     protected synchronized void updateContent(boolean showMap) {
         GuiHelper.assertCallFromEdt();
@@ -84,5 +83,4 @@
     }
 
-    @SuppressWarnings("deprecation")
     private MapFrame createNewMapFrame() {
         MapFrame mapFrame = new MapFrame(null);
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletingComboBox.java	(revision 13174)
@@ -245,5 +245,4 @@
      */
     @Override
-    @SuppressWarnings("deprecation")
     public void configureEditor(ComboBoxEditor cbEditor, Object item) {
         if (item == null) {
@@ -262,5 +261,4 @@
      */
     @Override
-    @SuppressWarnings("deprecation")
     public void setSelectedItem(Object item) {
         if (item == null) {
Index: /trunk/src/org/openstreetmap/josm/gui/util/AdvancedKeyPressDetector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/util/AdvancedKeyPressDetector.java	(revision 13173)
+++ /trunk/src/org/openstreetmap/josm/gui/util/AdvancedKeyPressDetector.java	(revision 13174)
@@ -147,5 +147,4 @@
 
     @Override
-    @SuppressWarnings("deprecation")
     public void eventDispatched(AWTEvent e) {
         if (!(e instanceof KeyEvent)) {
Index: /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 13173)
+++ /trunk/test/unit/org/openstreetmap/josm/JOSMFixture.java	(revision 13174)
@@ -138,10 +138,5 @@
 
         if (createGui) {
-            GuiHelper.runInEDTAndWaitWithException(new Runnable() {
-                @Override
-                public void run() {
-                    setupGUI();
-                }
-            });
+            GuiHelper.runInEDTAndWaitWithException(() -> setupGUI());
         }
     }
Index: /trunk/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java	(revision 13173)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/layer/OsmDataLayerTest.java	(revision 13174)
@@ -9,7 +9,7 @@
 import java.io.File;
 
-import org.junit.BeforeClass;
+import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
-import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.TestUtils;
 import org.openstreetmap.josm.actions.ExpertToggleAction;
@@ -22,4 +22,7 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -31,7 +34,19 @@
      * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init(true);
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().platform().projection().main();
+
+    private DataSet ds;
+    private OsmDataLayer layer;
+
+    /**
+     * Setup tests
+     */
+    @Before
+    public void setUp() {
+        ds = new DataSet();
+        layer = new OsmDataLayer(ds, "", null);
+        MainApplication.getLayerManager().addLayer(layer);
     }
 
@@ -41,25 +56,18 @@
     @Test
     public void testRecentRelation() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
-        try {
-            MainApplication.getLayerManager().addLayer(layer);
-            int n = OsmDataLayer.PROPERTY_RECENT_RELATIONS_NUMBER.get();
-            assertTrue(n > 0);
-            for (int i = 0; i < 2*n; i++) {
-                Relation r = new Relation(i, 1);
-                ds.addPrimitive(r);
-                layer.setRecentRelation(r);
+        int n = OsmDataLayer.PROPERTY_RECENT_RELATIONS_NUMBER.get();
+        assertTrue(n > 0);
+        for (int i = 0; i < 2*n; i++) {
+            Relation r = new Relation(i, 1);
+            ds.addPrimitive(r);
+            layer.setRecentRelation(r);
+        }
+        assertEquals(n, layer.getRecentRelations().size());
+        for (OsmPrimitive r : ds.allPrimitives()) {
+            if (r instanceof Relation) {
+                layer.removeRecentRelation((Relation) r);
             }
-            assertEquals(n, layer.getRecentRelations().size());
-            for (OsmPrimitive r : ds.allPrimitives()) {
-                if (r instanceof Relation) {
-                    layer.removeRecentRelation((Relation) r);
-                }
-            }
-            assertTrue(layer.getRecentRelations().isEmpty());
-        } finally {
-            MainApplication.getLayerManager().removeLayer(layer);
         }
+        assertTrue(layer.getRecentRelations().isEmpty());
     }
 
@@ -69,6 +77,4 @@
     @Test
     public void testGetInfoComponent() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
         assertNotNull(layer.getInfoComponent());
 
@@ -108,6 +114,4 @@
     @Test
     public void testLayerStateChangeListenerNull() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
         layer.addLayerStateChangeListener(null);
     }
@@ -118,6 +122,4 @@
     @Test
     public void testGetIcon() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
         assertNotNull(layer.getIcon());
         layer.setUploadDiscouraged(true);
@@ -130,14 +132,7 @@
     @Test
     public void testPaint() {
-        DataSet ds = new DataSet();
-        fillDataSet(ds);
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
-        try {
-            MainApplication.getLayerManager().addLayer(layer);
-            assertTrue(layer.getMenuEntries().length > 0);
-            layer.paint(TestUtils.newGraphics(), MainApplication.getMap().mapView, new Bounds(LatLon.ZERO));
-        } finally {
-            MainApplication.getLayerManager().removeLayer(layer);
-        }
+        fillDataSet(ds);
+        assertNotNull(MainApplication.getMap());
+        layer.paint(TestUtils.newGraphics(), MainApplication.getMap().mapView, new Bounds(LatLon.ZERO));
     }
 
@@ -147,5 +142,4 @@
     @Test
     public void testGetToolTipText() {
-        DataSet ds = new DataSet();
         assertEquals("<html>0 nodes<br>0 ways<br>0 relations</html>", new OsmDataLayer(ds, "", null).getToolTipText());
         fillDataSet(ds);
@@ -159,14 +153,13 @@
     @Test
     public void testMergeFrom() {
-        DataSet ds = new DataSet();
-        fillDataSet(ds);
-        OsmDataLayer layer1 = new OsmDataLayer(ds, "", null);
+        fillDataSet(ds);
         OsmDataLayer layer2 = new OsmDataLayer(new DataSet(), "", null);
+        MainApplication.getLayerManager().addLayer(layer2);
         assertTrue(layer2.data.allPrimitives().isEmpty());
-        assertTrue(layer2.isMergable(layer1));
-        layer2.mergeFrom(layer1);
+        assertTrue(layer2.isMergable(layer));
+        layer2.mergeFrom(layer);
         assertEquals(6, layer2.data.allPrimitives().size());
-        layer1.setUploadDiscouraged(true);
-        layer2.mergeFrom(layer1);
+        layer.setUploadDiscouraged(true);
+        layer2.mergeFrom(layer);
         assertTrue(layer2.isUploadDiscouraged());
     }
@@ -177,7 +170,5 @@
     @Test
     public void testCleanupAfterUpload() {
-        DataSet ds = new DataSet();
-        fillDataSet(ds);
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
+        fillDataSet(ds);
         assertEquals(6, layer.data.allPrimitives().size());
         layer.cleanupAfterUpload(ds.allPrimitives());
@@ -190,5 +181,4 @@
     @Test
     public void testGetMenuEntries() {
-        OsmDataLayer layer = new OsmDataLayer(new DataSet(), "", null);
         ExpertToggleAction.getInstance().setExpert(true);
         assertEquals(16, layer.getMenuEntries().length);
@@ -203,7 +193,5 @@
     @Test
     public void testToGpxData() {
-        DataSet ds = new DataSet();
-        fillDataSet(ds);
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
+        fillDataSet(ds);
         assertNotNull(layer.toGpxData());
     }
@@ -214,7 +202,5 @@
     @Test
     public void testContainsPoint() {
-        DataSet ds = new DataSet();
-        fillDataSet(ds);
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
+        fillDataSet(ds);
         assertTrue(layer.containsPoint(LatLon.ZERO));
     }
@@ -225,6 +211,4 @@
     @Test
     public void testIsModified() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
         assertFalse(layer.isModified());
         fillDataSet(ds);
@@ -237,5 +221,5 @@
     @Test
     public void testProjectionChanged() {
-        new OsmDataLayer(new DataSet(), "", null).projectionChanged(null, null);
+        layer.projectionChanged(null, null);
     }
 
@@ -245,6 +229,4 @@
     @Test
     public void testCheckSaveConditions() {
-        DataSet ds = new DataSet();
-        OsmDataLayer layer = new OsmDataLayer(ds, "", null);
         assertFalse(layer.checkSaveConditions());
         fillDataSet(ds);
Index: /trunk/test/unit/org/openstreetmap/josm/gui/layer/ValidatorLayerTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/gui/layer/ValidatorLayerTest.java	(revision 13173)
+++ /trunk/test/unit/org/openstreetmap/josm/gui/layer/ValidatorLayerTest.java	(revision 13174)
@@ -7,8 +7,11 @@
 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.data.osm.DataSet;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -20,8 +23,7 @@
      * Setup tests
      */
-    @BeforeClass
-    public static void setUpBeforeClass() {
-        JOSMFixture.createUnitTestFixture().init(true);
-    }
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().platform().projection().main();
 
     /**
@@ -30,19 +32,12 @@
     @Test
     public void testValidatorLayer() {
-        ValidatorLayer layer = null;
-        try {
-            layer = new ValidatorLayer();
-            MainApplication.getLayerManager().addLayer(layer);
-            assertFalse(layer.isMergable(null));
-            assertNotNull(layer.getIcon());
-            assertEquals("<html>No validation errors</html>", layer.getToolTipText());
-            assertEquals("<html>No validation errors</html>", layer.getInfoComponent());
-            assertTrue(layer.getMenuEntries().length > 0);
-        } finally {
-            // Ensure we clean the place before leaving, even if test fails.
-            if (layer != null) {
-                MainApplication.getLayerManager().removeLayer(layer);
-            }
-        }
+        MainApplication.getLayerManager().addLayer(new OsmDataLayer(new DataSet(), "", null));
+        ValidatorLayer layer = new ValidatorLayer();
+        MainApplication.getLayerManager().addLayer(layer);
+        assertFalse(layer.isMergable(null));
+        assertNotNull(layer.getIcon());
+        assertEquals("<html>No validation errors</html>", layer.getToolTipText());
+        assertEquals("<html>No validation errors</html>", layer.getInfoComponent());
+        assertTrue(layer.getMenuEntries().length > 0);
     }
 }
