X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FUserColourSchemeTest.java;fp=test%2Fjalview%2Fschemes%2FUserColourSchemeTest.java;h=f4875ee59d20539397a4f57e67ec5491b6373e22;hb=1f690971e7ffd3c33453e9e6e97653cb3b481169;hp=645d5b8afcba31c5a6ae6ffb9be076d21087eed6;hpb=0bf5504738156fee1d500a2914a9e8b779d6eb70;p=jalview.git diff --git a/test/jalview/schemes/UserColourSchemeTest.java b/test/jalview/schemes/UserColourSchemeTest.java index 645d5b8..f4875ee 100644 --- a/test/jalview/schemes/UserColourSchemeTest.java +++ b/test/jalview/schemes/UserColourSchemeTest.java @@ -57,17 +57,24 @@ public class UserColourSchemeTest * by RGB hex code */ String hexColour = Integer.toHexString(Color.RED.getRGB() & 0xffffff); + assertEquals("ff0000", hexColour); assertEquals(Color.RED, UserColourScheme.getColourFromString(hexColour)); // 'hex' prefixes _not_ wanted here assertNull(UserColourScheme.getColourFromString("0x" + hexColour)); assertNull(UserColourScheme.getColourFromString("#" + hexColour)); + // out of range, but Color constructor just or's the rgb value with 0 + assertEquals(Color.black, + UserColourScheme.getColourFromString("1000000")); /* * by RGB triplet */ - String rgb = String.format("%d,%d,%d", Color.red.getRed(), - Color.red.getGreen(), Color.red.getBlue()); - assertEquals(Color.RED, UserColourScheme.getColourFromString(rgb)); + Color c = Color.pink; + String rgb = String.format("%d,%d,%d", c.getRed(), c.getGreen(), + c.getBlue()); + assertEquals("255,175,175", rgb); + assertEquals(c, UserColourScheme.getColourFromString(rgb)); + assertEquals(c, UserColourScheme.getColourFromString("255, 175 , 175")); /* * odds and ends @@ -77,5 +84,40 @@ public class UserColourSchemeTest assertEquals(Color.WHITE, UserColourScheme.getColourFromString("-1")); assertNull(UserColourScheme.getColourFromString(String .valueOf(Integer.MAX_VALUE))); + assertNull(UserColourScheme.getColourFromString("100,200,300")); + assertNull(UserColourScheme.getColourFromString("100,200")); + assertNull(UserColourScheme.getColourFromString("100,200,100,200")); + } + + @Test(groups = "Functional") + public void testParseAppletParameter() + { + UserColourScheme cs = new UserColourScheme("white"); + cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30"); + assertEquals(Color.RED, cs.findColour('D')); + assertEquals(Color.RED, cs.findColour('d')); + assertEquals(Color.RED, cs.findColour('E')); + assertEquals(Color.RED, cs.findColour('e')); + Color c1 = new Color(0x0022ff); + assertEquals(c1, cs.findColour('K')); + assertEquals(c1, cs.findColour('R')); + assertEquals(c1, cs.findColour('h')); + Color c2 = new Color(10, 20, 30); + assertEquals(c2, cs.findColour('c')); + + cs = new UserColourScheme("white"); + cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;lowercase=blue;s=pink"); + assertEquals(Color.RED, cs.findColour('D')); + assertEquals(Color.blue, cs.findColour('d')); + assertEquals(Color.RED, cs.findColour('E')); + assertEquals(Color.blue, cs.findColour('e')); + assertEquals(c1, cs.findColour('K')); + assertEquals(c1, cs.findColour('R')); + assertEquals(Color.blue, cs.findColour('h')); + assertEquals(c2, cs.findColour('c')); + // 'lowercase' sets all lower-case not already set to the given colour + assertEquals(Color.blue, cs.findColour('k')); + assertEquals(Color.blue, cs.findColour('a')); + assertEquals(Color.pink, cs.findColour('s')); } }