From 5e9a42471cdc9734fffb222b3137808753209a25 Mon Sep 17 00:00:00 2001
From: Robert Scott <code@humanleg.org.uk>
Date: Sat, 11 Nov 2017 12:15:38 +0000
Subject: [PATCH 2/6] MiniMapDialogTest: move minimap setup routine to shared
 method

---
 .../josm/gui/dialogs/MinimapDialogTest.java        | 100 ++++++++++-----------
 1 file changed, 46 insertions(+), 54 deletions(-)

diff --git a/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java b/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
index 4c704bdae..ba4fafc53 100644
--- a/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
+++ b/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
@@ -79,6 +79,22 @@ public class MinimapDialogTest {
         return null;
     }
 
+    protected MinimapDialog minimap;
+    protected SlippyMapBBoxChooser slippyMap;
+    protected SourceButton sourceButton;
+
+    protected void setUpMiniMap() throws Exception {
+        this.minimap = new MinimapDialog();
+        this.minimap.setSize(300, 200);
+        this.minimap.showDialog();
+        this.slippyMap = (SlippyMapBBoxChooser) TestUtils.getPrivateField(this.minimap, "slippyMap");
+        this.sourceButton = (SourceButton) TestUtils.getPrivateField(this.slippyMap, "iSourceButton");
+
+        // get dlg in a paintable state
+        this.minimap.addNotify();
+        this.minimap.doLayout();
+    }
+
     /**
      * Tests to switch imagery source.
      * @throws Exception if any error occurs
@@ -88,25 +104,17 @@ public class MinimapDialogTest {
         // relevant prefs starting out empty, should choose the first source and have shown download area enabled
         // (not that there's a data layer for it to use)
 
-        MinimapDialog dlg = new MinimapDialog();
-        dlg.setSize(300, 200);
-        dlg.showDialog();
-        SlippyMapBBoxChooser slippyMap = (SlippyMapBBoxChooser) TestUtils.getPrivateField(dlg, "slippyMap");
-        SourceButton sourceButton = (SourceButton) TestUtils.getPrivateField(slippyMap, "iSourceButton");
-
-        // get dlg in a paintable state
-        dlg.addNotify();
-        dlg.doLayout();
+        this.setUpMiniMap();
 
         BufferedImage image = new BufferedImage(
-            slippyMap.getSize().width,
-            slippyMap.getSize().height,
+            this.slippyMap.getSize().width,
+            this.slippyMap.getSize().height,
             BufferedImage.TYPE_INT_RGB
         );
 
         Graphics2D g = image.createGraphics();
         // an initial paint operation is required to trigger the tile fetches
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
         g.setBackground(Color.BLUE);
         g.clearRect(0, 0, image.getWidth(), image.getHeight());
         g.dispose();
@@ -114,16 +122,16 @@ public class MinimapDialogTest {
         Thread.sleep(500);
 
         g = image.createGraphics();
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         assertEquals(0xffffffff, image.getRGB(0, 0));
 
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "White Tiles");
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "White Tiles");
 
-        getSourceMenuItemByLabel(sourceButton.getPopupMenu(), "Magenta Tiles").doClick();
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "Magenta Tiles");
+        getSourceMenuItemByLabel(this.sourceButton.getPopupMenu(), "Magenta Tiles").doClick();
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "Magenta Tiles");
         // call paint to trigger new tile fetch
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         // clear background to a recognizably "wrong" color & dispose our Graphics2D so we don't risk carrying over
         // any state
@@ -134,14 +142,14 @@ public class MinimapDialogTest {
         Thread.sleep(500);
 
         g = image.createGraphics();
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         assertEquals(0xffff00ff, image.getRGB(0, 0));
 
-        getSourceMenuItemByLabel(sourceButton.getPopupMenu(), "Green Tiles").doClick();
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "Green Tiles");
+        getSourceMenuItemByLabel(this.sourceButton.getPopupMenu(), "Green Tiles").doClick();
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "Green Tiles");
         // call paint to trigger new tile fetch
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         g.setBackground(Color.BLUE);
         g.clearRect(0, 0, image.getWidth(), image.getHeight());
@@ -150,7 +158,7 @@ public class MinimapDialogTest {
         Thread.sleep(500);
 
         g = image.createGraphics();
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         assertEquals(0xff00ff00, image.getRGB(0, 0));
 
@@ -158,30 +166,22 @@ public class MinimapDialogTest {
     }
 
     @Test
-    public void testSourcePrefObeyed() throws Throwable {
+    public void testSourcePrefObeyed() throws Exception {
         Main.pref.put("slippy_map_chooser.mapstyle", "Green Tiles");
 
-        MinimapDialog dlg = new MinimapDialog();
-        dlg.setSize(300, 200);
-        dlg.showDialog();
-        SlippyMapBBoxChooser slippyMap = (SlippyMapBBoxChooser) TestUtils.getPrivateField(dlg, "slippyMap");
-        SourceButton sourceButton = (SourceButton) TestUtils.getPrivateField(slippyMap, "iSourceButton");
-
-        // get dlg in a paintable state
-        dlg.addNotify();
-        dlg.doLayout();
+        this.setUpMiniMap();
 
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "Green Tiles");
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "Green Tiles");
 
         BufferedImage image = new BufferedImage(
-            slippyMap.getSize().width,
-            slippyMap.getSize().height,
+            this.slippyMap.getSize().width,
+            this.slippyMap.getSize().height,
             BufferedImage.TYPE_INT_RGB
         );
 
         Graphics2D g = image.createGraphics();
         // an initial paint operation is required to trigger the tile fetches
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
         g.setBackground(Color.BLUE);
         g.clearRect(0, 0, image.getWidth(), image.getHeight());
         g.dispose();
@@ -189,41 +189,33 @@ public class MinimapDialogTest {
         Thread.sleep(500);
 
         g = image.createGraphics();
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         assertEquals(0xff00ff00, image.getRGB(0, 0));
 
-        getSourceMenuItemByLabel(sourceButton.getPopupMenu(), "Magenta Tiles").doClick();
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "Magenta Tiles");
+        getSourceMenuItemByLabel(this.sourceButton.getPopupMenu(), "Magenta Tiles").doClick();
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "Magenta Tiles");
 
         assertEquals("Magenta Tiles", Main.pref.get("slippy_map_chooser.mapstyle", "Fail"));
     }
 
     @Test
-    public void testSourcePrefInvalid() throws Throwable {
+    public void testSourcePrefInvalid() throws Exception {
         Main.pref.put("slippy_map_chooser.mapstyle", "Hooloovoo Tiles");
 
-        MinimapDialog dlg = new MinimapDialog();
-        dlg.setSize(300, 200);
-        dlg.showDialog();
-        SlippyMapBBoxChooser slippyMap = (SlippyMapBBoxChooser) TestUtils.getPrivateField(dlg, "slippyMap");
-        SourceButton sourceButton = (SourceButton) TestUtils.getPrivateField(slippyMap, "iSourceButton");
-
-        // get dlg in a paintable state
-        dlg.addNotify();
-        dlg.doLayout();
+        this.setUpMiniMap();
 
-        assertSingleSelectedSourceLabel(sourceButton.getPopupMenu(), "White Tiles");
+        assertSingleSelectedSourceLabel(this.sourceButton.getPopupMenu(), "White Tiles");
 
         BufferedImage image = new BufferedImage(
-            slippyMap.getSize().width,
-            slippyMap.getSize().height,
+            this.slippyMap.getSize().width,
+            this.slippyMap.getSize().height,
             BufferedImage.TYPE_INT_RGB
         );
 
         Graphics2D g = image.createGraphics();
         // an initial paint operation is required to trigger the tile fetches
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
         g.setBackground(Color.BLUE);
         g.clearRect(0, 0, image.getWidth(), image.getHeight());
         g.dispose();
@@ -231,7 +223,7 @@ public class MinimapDialogTest {
         Thread.sleep(500);
 
         g = image.createGraphics();
-        slippyMap.paintAll(g);
+        this.slippyMap.paintAll(g);
 
         assertEquals(0xffffffff, image.getRGB(0, 0));
     }
-- 
2.11.0

