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;
}
@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");
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");
+ 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('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);
+ }
}