Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.schemes

File UserColourSchemeTest.java

 

Code metrics

0
46
4
1
112
73
4
0.09
11.5
4
1

Classes

Class Line # Actions
UserColourSchemeTest 32 46 4 0
1.0100%
 

Contributing tests

This file is covered by 3 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
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.
11    *
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.
16    *
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.
20    */
21    package jalview.schemes;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24   
25    import jalview.gui.JvOptionPane;
26   
27    import java.awt.Color;
28   
29    import org.testng.annotations.BeforeClass;
30    import org.testng.annotations.Test;
31   
 
32    public class UserColourSchemeTest
33    {
34   
 
35  1 toggle @BeforeClass(alwaysRun = true)
36    public void setUpJvOptionPane()
37    {
38  1 JvOptionPane.setInteractiveMode(false);
39  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
40    }
41   
 
42  1 toggle @Test(groups = "Functional")
43    public void testParseAppletParameter()
44    {
45  1 UserColourScheme cs = new UserColourScheme("white");
46  1 cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30");
47  1 assertEquals(Color.RED, cs.findColour('D'));
48  1 assertEquals(Color.RED, cs.findColour('d'));
49  1 assertEquals(Color.RED, cs.findColour('E'));
50  1 assertEquals(Color.RED, cs.findColour('e'));
51  1 Color c1 = new Color(0x0022ff);
52  1 assertEquals(c1, cs.findColour('K'));
53  1 assertEquals(c1, cs.findColour('R'));
54  1 assertEquals(c1, cs.findColour('h'));
55  1 Color c2 = new Color(10, 20, 30);
56  1 assertEquals(c2, cs.findColour('c'));
57  1 assertEquals(Color.WHITE, cs.findColour('G'));
58  1 assertEquals(Color.WHITE, cs.findColour('-'));
59  1 assertEquals(Color.WHITE, cs.findColour('.'));
60  1 assertEquals(Color.WHITE, cs.findColour(' '));
61   
62  1 cs = new UserColourScheme("white");
63  1 cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30;t=orange;lowercase=blue;s=pink");
64  1 assertEquals(Color.RED, cs.findColour('D'));
65  1 assertEquals(Color.blue, cs.findColour('d'));
66  1 assertEquals(Color.RED, cs.findColour('E'));
67  1 assertEquals(Color.blue, cs.findColour('e'));
68  1 assertEquals(c1, cs.findColour('K'));
69  1 assertEquals(c1, cs.findColour('R'));
70  1 assertEquals(Color.blue, cs.findColour('h'));
71  1 assertEquals(c2, cs.findColour('c'));
72    // 'lowercase' sets all lower-case not already set to the given colour
73  1 assertEquals(Color.orange, cs.findColour('t'));
74  1 assertEquals(Color.blue, cs.findColour('k'));
75  1 assertEquals(Color.blue, cs.findColour('a'));
76  1 assertEquals(Color.pink, cs.findColour('s'));
77    }
78   
 
79  1 toggle @Test(groups = "Functional")
80    public void testToAppletParameter()
81    {
82  1 UserColourScheme cs = new UserColourScheme(
83    "E,D=red; K,R,H=0022FF; c=10 , 20,30");
84  1 String param = cs.toAppletParameter();
85  1 assertEquals("D,E=ff0000;H,K,R=0022ff;c=0a141e", param);
86    }
87   
88    /**
89    * Test for user colour scheme constructed with a colour per residue,
90    * including gap. Note this can currently be done from the User Defined
91    * Colours dialog, but not by parsing a colours parameter, as
92    * parseAppletParameter only recognises amino acid codes.
93    */
 
94  1 toggle @Test(groups = "Functional")
95    public void testConstructor_coloursArray()
96    {
97  1 Color g = Color.green;
98  1 Color y = Color.yellow;
99  1 Color b = Color.blue;
100  1 Color r = Color.red;
101    // colours for ARNDCQEGHILKMFPSTWYVBZ and gap
102  1 Color[] colours = new Color[] { g, y, b, r, g, y, r, b, g, y, r, b, g,
103    y, r, b, g, y, r, b, g, y, r, g };
104  1 UserColourScheme cs = new UserColourScheme(colours);
105   
106  1 assertEquals(g, cs.findColour('A'));
107  1 assertEquals(b, cs.findColour('n'));
108  1 assertEquals(g, cs.findColour('-'));
109  1 assertEquals(g, cs.findColour('.'));
110  1 assertEquals(g, cs.findColour(' '));
111    }
112    }