2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.schemes;
23 import static org.testng.AssertJUnit.assertEquals;
25 import jalview.gui.JvOptionPane;
27 import java.awt.Color;
29 import org.testng.annotations.BeforeClass;
30 import org.testng.annotations.Test;
32 public class UserColourSchemeTest
35 @BeforeClass(alwaysRun = true)
36 public void setUpJvOptionPane()
38 JvOptionPane.setInteractiveMode(false);
39 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42 @Test(groups = "Functional")
43 public void testParseAppletParameter()
45 UserColourScheme cs = new UserColourScheme("white");
46 cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30");
47 assertEquals(Color.RED, cs.findColour('D'));
48 assertEquals(Color.RED, cs.findColour('d'));
49 assertEquals(Color.RED, cs.findColour('E'));
50 assertEquals(Color.RED, cs.findColour('e'));
51 Color c1 = new Color(0x0022ff);
52 assertEquals(c1, cs.findColour('K'));
53 assertEquals(c1, cs.findColour('R'));
54 assertEquals(c1, cs.findColour('h'));
55 Color c2 = new Color(10, 20, 30);
56 assertEquals(c2, cs.findColour('c'));
58 cs = new UserColourScheme("white");
59 cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;t=orange;lowercase=blue;s=pink");
60 assertEquals(Color.RED, cs.findColour('D'));
61 assertEquals(Color.blue, cs.findColour('d'));
62 assertEquals(Color.RED, cs.findColour('E'));
63 assertEquals(Color.blue, cs.findColour('e'));
64 assertEquals(c1, cs.findColour('K'));
65 assertEquals(c1, cs.findColour('R'));
66 assertEquals(Color.blue, cs.findColour('h'));
67 assertEquals(c2, cs.findColour('c'));
68 // 'lowercase' sets all lower-case not already set to the given colour
69 assertEquals(Color.orange, cs.findColour('t'));
70 assertEquals(Color.blue, cs.findColour('k'));
71 assertEquals(Color.blue, cs.findColour('a'));
72 assertEquals(Color.pink, cs.findColour('s'));
75 @Test(groups = "Functional")
76 public void testToAppletParameter()
78 UserColourScheme cs = new UserColourScheme(
79 "E,D=red; K,R,H=0022FF; c=10 , 20,30");
80 String param = cs.toAppletParameter();
81 assertEquals("D,E=ff0000;H,K,R=0022ff;c=0a141e", param);