From babb73275412a7c50081d0d2526330b39c373e65 Mon Sep 17 00:00:00 2001
From: Robert Scott <code@humanleg.org.uk>
Date: Sun, 12 Nov 2017 19:26:00 +0000
Subject: [PATCH v1 2/6] MinimapDialogTest: only construct
 slippyMapTasksFinished once per test

---
 .../josm/gui/dialogs/MinimapDialogTest.java             | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java b/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
index 2e7267c15..e302a7c51 100644
--- a/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
+++ b/test/unit/org/openstreetmap/josm/gui/dialogs/MinimapDialogTest.java
@@ -90,6 +90,7 @@ public class MinimapDialogTest {
     protected MinimapDialog minimap;
     protected SlippyMapBBoxChooser slippyMap;
     protected SourceButton sourceButton;
+    protected Callable<Boolean> slippyMapTasksFinished;
 
     protected static BufferedImage paintedSlippyMap;
 
@@ -100,6 +101,8 @@ public class MinimapDialogTest {
         this.slippyMap = (SlippyMapBBoxChooser) TestUtils.getPrivateField(this.minimap, "slippyMap");
         this.sourceButton = (SourceButton) TestUtils.getPrivateField(this.slippyMap, "iSourceButton");
 
+        this.slippyMapTasksFinished = () -> !this.slippyMap.getTileController().getTileLoader().hasOutstandingTasks();
+
         // get minimap in a paintable state
         this.minimap.addNotify();
         this.minimap.doLayout();
@@ -127,10 +130,6 @@ public class MinimapDialogTest {
         this.slippyMap.paintAll(g);
     }
 
-    protected Callable<Boolean> slippyMapTasksFinished() {
-        return () -> !this.slippyMap.getTileController().getTileLoader().hasOutstandingTasks();
-    }
-
     /**
      * Tests to switch imagery source.
      * @throws Exception if any error occurs
@@ -145,7 +144,7 @@ public class MinimapDialogTest {
         // an initial paint operation is required to trigger the tile fetches
         this.paintSlippyMap();
 
-        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
+        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished);
 
         this.paintSlippyMap();
 
@@ -158,7 +157,7 @@ public class MinimapDialogTest {
         // call paint to trigger new tile fetch
         this.paintSlippyMap();
 
-        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
+        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished);
 
         this.paintSlippyMap();
 
@@ -169,7 +168,7 @@ public class MinimapDialogTest {
         // call paint to trigger new tile fetch
         this.paintSlippyMap();
 
-        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
+        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished);
 
         this.paintSlippyMap();
 
@@ -193,7 +192,7 @@ public class MinimapDialogTest {
         // an initial paint operation is required to trigger the tile fetches
         this.paintSlippyMap();
 
-        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
+        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished);
 
         this.paintSlippyMap();
 
@@ -220,7 +219,7 @@ public class MinimapDialogTest {
         // an initial paint operation is required to trigger the tile fetches
         this.paintSlippyMap();
 
-        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished());
+        Awaitility.await().atMost(1000, MILLISECONDS).until(this.slippyMapTasksFinished);
 
         this.paintSlippyMap();
 
-- 
2.11.0

