X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FColorUtilsTest.java;h=08d77b625c7570d51bbd9f20e6e9ac2ee7ad0491;hb=f0fd407e5fad67185a9813c57bfc50aacaf1de6e;hp=77a03d6fd00427f93c484a4ce124037d9f3c638d;hpb=b0cee3aaf7d8873910939f97b6acb217d518968d;p=jalview.git diff --git a/test/jalview/util/ColorUtilsTest.java b/test/jalview/util/ColorUtilsTest.java index 77a03d6..08d77b6 100644 --- a/test/jalview/util/ColorUtilsTest.java +++ b/test/jalview/util/ColorUtilsTest.java @@ -71,9 +71,6 @@ public class ColorUtilsTest assertNull(ColorUtils.brighterThan(null)); } - /** - * @see http://www.rtapo.com/notes/named_colors.html - */ @Test(groups = { "Functional" }) public void testToTkCode() { @@ -188,8 +185,9 @@ public class ColorUtilsTest // 'hex' prefixes _not_ wanted here assertNull(ColorUtils.parseColourString("0x" + hexColour)); assertNull(ColorUtils.parseColourString("#" + hexColour)); - // out of range, but Color constructor just or's the rgb value with 0 - assertEquals(Color.black, ColorUtils.parseColourString("1000000")); + // hex values must be 6 hex digits + assertNull(ColorUtils.parseColourString("1000000")); + assertNull(ColorUtils.parseColourString("0ff00")); /* * by RGB triplet @@ -206,7 +204,7 @@ public class ColorUtilsTest */ assertNull(ColorUtils.parseColourString(null)); assertNull(ColorUtils.parseColourString("rubbish")); - assertEquals(Color.WHITE, ColorUtils.parseColourString("-1")); + assertNull(ColorUtils.parseColourString("-1")); assertNull(ColorUtils.parseColourString(String .valueOf(Integer.MAX_VALUE))); assertNull(ColorUtils.parseColourString("100,200,300")); // out of range @@ -214,14 +212,33 @@ public class ColorUtilsTest assertNull(ColorUtils.parseColourString("100,200,100,200")); // too many } - @Test + @Test(groups = "Functional") public void testGetAWTColorFromName() { - assertEquals(Color.white, ColorUtils.getAWTColorFromName("white")); - assertEquals(Color.white, ColorUtils.getAWTColorFromName("White")); - assertEquals(Color.white, ColorUtils.getAWTColorFromName("WHITE")); - assertEquals(Color.pink, ColorUtils.getAWTColorFromName("pink")); - assertNull(ColorUtils.getAWTColorFromName("mauve")); // no such name - assertNull(ColorUtils.getAWTColorFromName("")); - assertNull(ColorUtils.getAWTColorFromName(null)); + assertEquals(Color.white, ColorUtils.getColorFromName("white")); + assertEquals(Color.white, ColorUtils.getColorFromName("White")); + assertEquals(Color.white, ColorUtils.getColorFromName("WHITE")); + assertEquals(Color.pink, ColorUtils.getColorFromName("pink")); + assertNull(ColorUtils.getColorFromName("mauve")); // no such name + assertNull(ColorUtils.getColorFromName("")); + assertNull(ColorUtils.getColorFromName(null)); + } + + @Test(groups = "Functional") + public void testCreateColourFromName() + { + assertEquals(Color.white, ColorUtils.createColourFromName(null)); + assertEquals(new Color(20, 20, 20), ColorUtils.createColourFromName("")); + assertEquals(new Color(98, 131, 171), + ColorUtils.createColourFromName("None")); // no special treatment! + assertEquals(new Color(123, 211, 122), + ColorUtils.createColourFromName("hello world")); + assertEquals(new Color(27, 147, 112), + ColorUtils.createColourFromName("HELLO WORLD")); + /* + * the algorithm makes the same values for r,g,b if + * the string consists of 3 repeating substrings + */ + assertEquals(new Color(184, 184, 184), + ColorUtils.createColourFromName("HELLO HELLO HELLO ")); } }