Index: trunk/test/unit/org/openstreetmap/josm/tools/ImageResizeModeTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/tools/ImageResizeModeTest.java	(revision 16977)
+++ trunk/test/unit/org/openstreetmap/josm/tools/ImageResizeModeTest.java	(revision 16978)
@@ -14,4 +14,7 @@
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
+/**
+ * Unit tests of {@link ImageResizeMode} class.
+ */
 public class ImageResizeModeTest {
 
@@ -23,7 +26,12 @@
     public JOSMTestRules test = new JOSMTestRules().preferences();
 
+    final Dimension image = new Dimension(64, 48);
+    final Dimension smallImage = new Dimension(14, 10);
+
+    /**
+     * Test method for {@link ImageResizeMode#computeDimension} using {@link ImageResizeMode#AUTO}
+     */
     @Test
-    public void testComputeDimension() {
-        final Dimension image = new Dimension(64, 48);
+    public void testComputeDimensionAuto() {
         assertThrows(IllegalArgumentException.class, () -> ImageResizeMode.AUTO.computeDimension(new Dimension(0, 0), image));
         assertEquals(new Dimension(64, 48), ImageResizeMode.AUTO.computeDimension(ImageResource.DEFAULT_DIMENSION, image));
@@ -33,4 +41,11 @@
         assertEquals(new Dimension(21, 16), ImageResizeMode.AUTO.computeDimension(new Dimension(-1, 16), image));
         assertEquals(new Dimension(24, 32), ImageResizeMode.AUTO.computeDimension(new Dimension(24, 32), image));
+    }
+
+    /**
+     * Test method for {@link ImageResizeMode#computeDimension} using {@link ImageResizeMode#BOUNDED}
+     */
+    @Test
+    public void testComputeDimensionBounded() {
         assertEquals(new Dimension(64, 48), ImageResizeMode.BOUNDED.computeDimension(ImageResource.DEFAULT_DIMENSION, image));
         assertEquals(new Dimension(64, 48), ImageResizeMode.BOUNDED.computeDimension(new Dimension(-1, -1), image));
@@ -39,4 +54,19 @@
         assertEquals(new Dimension(21, 16), ImageResizeMode.BOUNDED.computeDimension(new Dimension(-1, 16), image));
         assertEquals(new Dimension(24, 18), ImageResizeMode.BOUNDED.computeDimension(new Dimension(24, 32), image));
+        assertEquals(new Dimension(14, 10), ImageResizeMode.BOUNDED.computeDimension(new Dimension(64, 48), smallImage));
+        assertEquals(new Dimension(14, 10), ImageResizeMode.BOUNDED.computeDimension(new Dimension(16, 16), smallImage));
+        assertEquals(new Dimension(11, 8), ImageResizeMode.BOUNDED.computeDimension(new Dimension(16, 8), smallImage));
+        assertEquals(new Dimension(12, 8), ImageResizeMode.BOUNDED.computeDimension(new Dimension(12, 12), smallImage));
+        assertEquals(new Dimension(11, 8), ImageResizeMode.BOUNDED.computeDimension(new Dimension(12, 8), smallImage));
+        assertEquals(new Dimension(8, 5), ImageResizeMode.BOUNDED.computeDimension(new Dimension(8, 16), smallImage));
+        assertEquals(new Dimension(8, 5), ImageResizeMode.BOUNDED.computeDimension(new Dimension(8, 8), smallImage));
+        assertEquals(new Dimension(8, 5), ImageResizeMode.BOUNDED.computeDimension(new Dimension(8, 8), smallImage));
+    }
+
+    /**
+     * Test method for {@link ImageResizeMode#computeDimension} using {@link ImageResizeMode#PADDED}
+     */
+    @Test
+    public void testComputeDimensionPadded() {
         assertThrows(IllegalArgumentException.class, () -> ImageResizeMode.PADDED.computeDimension(new Dimension(0, 0), image));
         assertThrows(IllegalArgumentException.class, () -> ImageResizeMode.PADDED.computeDimension(ImageResource.DEFAULT_DIMENSION, image));
@@ -48,4 +78,7 @@
     }
 
+    /**
+     * Test method for {@link ImageResizeMode#cacheKey}
+     */
     @Test
     public void testCacheKey() {
