From 1051d568fcf4b469469620528bdc7e27766ef2dc Mon Sep 17 00:00:00 2001 From: gmungoc Date: Thu, 18 Sep 2014 11:19:17 +0100 Subject: [PATCH] JAL-1360 Javadoc/JUnit --- src/jalview/util/ColorUtils.java | 25 ++++++++++---------- test/jalview/util/ColorUtilsTest.java | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 13 deletions(-) create mode 100644 test/jalview/util/ColorUtilsTest.java diff --git a/src/jalview/util/ColorUtils.java b/src/jalview/util/ColorUtils.java index 0d726a2..fd76086 100644 --- a/src/jalview/util/ColorUtils.java +++ b/src/jalview/util/ColorUtils.java @@ -59,29 +59,28 @@ public class ColorUtils } -/** - * Returns a colour three shades darker. - * - * We use darker text to indicate unselected buttons, lighter text for selected. Note you can't - * guarantee that darkerThan/brighterThan undo each other, as they may result in black/white. + /** + * Returns a colour three shades darker. Note you can't guarantee that + * brighterThan reverses this, as darkerThan may result in black. * * @param col * @return */ - public static Color darkerThan(Color col) { - return col.darker().darker().darker(); + public static Color darkerThan(Color col) + { + return col == null ? null : col.darker().darker().darker(); } -/** - * Returns a colour three shades brighter. + /** + * Returns a colour three shades brighter. Note you can't guarantee that + * darkerThan reverses this, as brighterThan may result in white. * - * We use darker text to indicate unselected buttons, lighter text for selected. Note you can't - * guarantee that darkerThan/brighterThan undo each other, as they may result in black/white. * @param col * @return */ - public static Color brighterThan(Color col) { - return col.brighter().brighter().brighter(); + public static Color brighterThan(Color col) + { + return col == null ? null : col.brighter().brighter().brighter(); } } diff --git a/test/jalview/util/ColorUtilsTest.java b/test/jalview/util/ColorUtilsTest.java new file mode 100644 index 0000000..da2e6ca --- /dev/null +++ b/test/jalview/util/ColorUtilsTest.java @@ -0,0 +1,42 @@ +package jalview.util; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import java.awt.Color; + +import org.junit.Test; + +public class ColorUtilsTest +{ + + Color paleColour = new Color(97, 203, 111); // pale green + + Color midColour = new Color(135, 57, 41); // mid red + + Color darkColour = new Color(11, 30, 50); // dark blue + + @Test + public void testDarkerThan() + { + assertEquals("Wrong darker shade", new Color(32, 69, 37), + ColorUtils.darkerThan(paleColour)); + assertEquals("Wrong darker shade", new Color(45, 18, 13), + ColorUtils.darkerThan(midColour)); + assertEquals("Wrong darker shade", new Color(2, 9, 16), + ColorUtils.darkerThan(darkColour)); + assertNull(ColorUtils.darkerThan(null)); + } + + @Test + public void testBrighterThan() + { + assertEquals("Wrong brighter shade", new Color(255, 255, 255), // white + ColorUtils.brighterThan(paleColour)); + assertEquals("Wrong brighter shade", new Color(255, 164, 117), + ColorUtils.brighterThan(midColour)); + assertEquals("Wrong brighter shade", new Color(30, 85, 144), + ColorUtils.brighterThan(darkColour)); + assertNull(ColorUtils.brighterThan(null)); + } +} -- 1.7.10.2