X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FColorUtilsTest.java;h=77a03d6fd00427f93c484a4ce124037d9f3c638d;hb=b0cee3aaf7d8873910939f97b6acb217d518968d;hp=9a5d093046e385741c2b5e2b9bda83f24837dd4b;hpb=9d15a20b1f34c76427da5ec9274ff97a1ca49393;p=jalview.git diff --git a/test/jalview/util/ColorUtilsTest.java b/test/jalview/util/ColorUtilsTest.java index 9a5d093..77a03d6 100644 --- a/test/jalview/util/ColorUtilsTest.java +++ b/test/jalview/util/ColorUtilsTest.java @@ -166,4 +166,62 @@ public class ColorUtilsTest assertEquals(new Color(46, 31, 16), // with rounding down ColorUtils.bleachColour(colour, -0.7f)); } + + @Test(groups = "Functional") + public void testParseColourString() + { + /* + * by colour name - if known to AWT, and included in + * + * @see ColourSchemeProperty.getAWTColorFromName() + */ + assertSame(Color.RED, ColorUtils.parseColourString("red")); + assertSame(Color.RED, ColorUtils.parseColourString("Red")); + assertSame(Color.RED, ColorUtils.parseColourString(" RED ")); + + /* + * by RGB hex code + */ + String hexColour = Integer.toHexString(Color.RED.getRGB() & 0xffffff); + assertEquals("ff0000", hexColour); + assertEquals(Color.RED, ColorUtils.parseColourString(hexColour)); + // '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")); + + /* + * by RGB triplet + */ + Color c = Color.pink; + String rgb = String.format("%d,%d,%d", c.getRed(), c.getGreen(), + c.getBlue()); + assertEquals("255,175,175", rgb); + assertEquals(c, ColorUtils.parseColourString(rgb)); + assertEquals(c, ColorUtils.parseColourString("255, 175 , 175")); + + /* + * odds and ends + */ + assertNull(ColorUtils.parseColourString(null)); + assertNull(ColorUtils.parseColourString("rubbish")); + assertEquals(Color.WHITE, ColorUtils.parseColourString("-1")); + assertNull(ColorUtils.parseColourString(String + .valueOf(Integer.MAX_VALUE))); + assertNull(ColorUtils.parseColourString("100,200,300")); // out of range + assertNull(ColorUtils.parseColourString("100,200")); // too few + assertNull(ColorUtils.parseColourString("100,200,100,200")); // too many + } + + @Test + 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)); + } }