X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FUserColourSchemeTest.java;fp=test%2Fjalview%2Fschemes%2FUserColourSchemeTest.java;h=497014ea1a2d9c25f38f8517814f13f99c73f864;hb=2595e9d4ee0dbbd3406a98c4e49a61ccde806479;hp=34af0863884dc5127c584a62734d5f66c1c0f1c1;hpb=e20075ba805d744d7cc4976e2b8d5e5840fb0a8d;p=jalview.git diff --git a/test/jalview/schemes/UserColourSchemeTest.java b/test/jalview/schemes/UserColourSchemeTest.java index 34af086..497014e 100644 --- a/test/jalview/schemes/UserColourSchemeTest.java +++ b/test/jalview/schemes/UserColourSchemeTest.java @@ -21,51 +21,63 @@ 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; import java.awt.Color; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class UserColourSchemeTest { - @Test(groups = "Functional") - public void testGetColourFromString() + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() { - /* - * 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 ")); + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } - /* - * by RGB hex code - */ - String hexColour = Integer.toHexString(Color.RED.getRGB() & 0xffffff); - assertEquals(Color.RED, UserColourScheme.getColourFromString(hexColour)); - // 'hex' prefixes _not_ wanted here - assertNull(UserColourScheme.getColourFromString("0x" + hexColour)); - assertNull(UserColourScheme.getColourFromString("#" + hexColour)); + @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')); - /* - * 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)); + cs = new UserColourScheme("white"); + 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')); + 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.orange, cs.findColour('t')); + assertEquals(Color.blue, cs.findColour('k')); + assertEquals(Color.blue, cs.findColour('a')); + assertEquals(Color.pink, cs.findColour('s')); + } - /* - * 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))); + @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); } }