X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FUserColourSchemeTest.java;h=2a482eee116add5d4a39090a8521089fd9962117;hb=d5888333a51923fe86a35262e11be07c22e2798b;hp=f4875ee59d20539397a4f57e67ec5491b6373e22;hpb=1f690971e7ffd3c33453e9e6e97653cb3b481169;p=jalview.git diff --git a/test/jalview/schemes/UserColourSchemeTest.java b/test/jalview/schemes/UserColourSchemeTest.java index f4875ee..2a482ee 100644 --- a/test/jalview/schemes/UserColourSchemeTest.java +++ b/test/jalview/schemes/UserColourSchemeTest.java @@ -21,8 +21,6 @@ package jalview.schemes; import static org.testng.AssertJUnit.assertEquals; -import static org.testng.AssertJUnit.assertNull; -import static org.testng.AssertJUnit.assertSame; import jalview.gui.JvOptionPane; @@ -42,54 +40,6 @@ public class UserColourSchemeTest } @Test(groups = "Functional") - public void testGetColourFromString() - { - /* - * by colour name - if known to AWT, and included in - * - * @see ColourSchemeProperty.getAWTColorFromName() - */ - assertSame(Color.RED, UserColourScheme.getColourFromString("red")); - assertSame(Color.RED, UserColourScheme.getColourFromString("Red")); - assertSame(Color.RED, UserColourScheme.getColourFromString(" RED ")); - - /* - * 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 - */ - 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 - */ - assertNull(UserColourScheme.getColourFromString(null)); - assertNull(UserColourScheme.getColourFromString("rubbish")); - 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"); @@ -104,9 +54,13 @@ public class UserColourSchemeTest assertEquals(c1, cs.findColour('h')); Color c2 = new Color(10, 20, 30); assertEquals(c2, cs.findColour('c')); + assertEquals(Color.WHITE, cs.findColour('G')); + assertEquals(Color.WHITE, cs.findColour('-')); + assertEquals(Color.WHITE, cs.findColour('.')); + assertEquals(Color.WHITE, cs.findColour(' ')); cs = new UserColourScheme("white"); - cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;lowercase=blue;s=pink"); + cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;t=orange;lowercase=blue;s=pink"); assertEquals(Color.RED, cs.findColour('D')); assertEquals(Color.blue, cs.findColour('d')); assertEquals(Color.RED, cs.findColour('E')); @@ -116,8 +70,43 @@ public class UserColourSchemeTest 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.orange, cs.findColour('t')); assertEquals(Color.blue, cs.findColour('k')); assertEquals(Color.blue, cs.findColour('a')); assertEquals(Color.pink, cs.findColour('s')); } + + @Test(groups = "Functional") + public void testToAppletParameter() + { + UserColourScheme cs = new UserColourScheme( + "E,D=red; K,R,H=0022FF; c=10 , 20,30"); + String param = cs.toAppletParameter(); + assertEquals("D,E=ff0000;H,K,R=0022ff;c=0a141e", param); + } + + /** + * Test for user colour scheme constructed with a colour per residue, + * including gap. Note this can currently be done from the User Defined + * Colours dialog, but not by parsing a colours parameter, as + * parseAppletParameter only recognises amino acid codes. + */ + @Test(groups = "Functional") + public void testConstructor_coloursArray() + { + Color g = Color.green; + Color y = Color.yellow; + Color b = Color.blue; + Color r = Color.red; + // colours for ARNDCQEGHILKMFPSTWYVBZ and gap + Color[] colours = new Color[] { g, y, b, r, g, y, r, b, g, y, r, b, g, + y, r, b, g, y, r, b, g, y, r, g }; + UserColourScheme cs = new UserColourScheme(colours); + + assertEquals(g, cs.findColour('A')); + assertEquals(b, cs.findColour('n')); + assertEquals(g, cs.findColour('-')); + assertEquals(g, cs.findColour('.')); + assertEquals(g, cs.findColour(' ')); + } }