Clover icon

Coverage Report

  1. Project Clover database Thu Nov 7 2024 17:01:39 GMT
  2. Package jalview.schemes

File UserColourSchemeTest.java

 

Code metrics

0
46
4
1
113
74
4
0.09
11.5
4
1

Classes

Class Line # Actions
UserColourSchemeTest 32 46 4
0.00%
 

Contributing tests

No tests hitting this source file were found.

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  0 toggle @BeforeClass(alwaysRun = true)
36    public void setUpJvOptionPane()
37    {
38  0 JvOptionPane.setInteractiveMode(false);
39  0 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
40    }
41   
 
42  0 toggle @Test(groups = "Functional")
43    public void testParseAppletParameter()
44    {
45  0 UserColourScheme cs = new UserColourScheme("white");
46  0 cs.parseAppletParameter("D,E=red; K,R,H=0022FF; c=10 , 20,30");
47  0 assertEquals(Color.RED, cs.findColour('D'));
48  0 assertEquals(Color.RED, cs.findColour('d'));
49  0 assertEquals(Color.RED, cs.findColour('E'));
50  0 assertEquals(Color.RED, cs.findColour('e'));
51  0 Color c1 = new Color(0x0022ff);
52  0 assertEquals(c1, cs.findColour('K'));
53  0 assertEquals(c1, cs.findColour('R'));
54  0 assertEquals(c1, cs.findColour('h'));
55  0 Color c2 = new Color(10, 20, 30);
56  0 assertEquals(c2, cs.findColour('c'));
57  0 assertEquals(Color.WHITE, cs.findColour('G'));
58  0 assertEquals(Color.WHITE, cs.findColour('-'));
59  0 assertEquals(Color.WHITE, cs.findColour('.'));
60  0 assertEquals(Color.WHITE, cs.findColour(' '));
61   
62  0 cs = new UserColourScheme("white");
63  0 cs.parseAppletParameter(
64    "D,E=red; K,R,H=0022FF; c=10 , 20,30;t=orange;lowercase=blue;s=pink");
65  0 assertEquals(Color.RED, cs.findColour('D'));
66  0 assertEquals(Color.blue, cs.findColour('d'));
67  0 assertEquals(Color.RED, cs.findColour('E'));
68  0 assertEquals(Color.blue, cs.findColour('e'));
69  0 assertEquals(c1, cs.findColour('K'));
70  0 assertEquals(c1, cs.findColour('R'));
71  0 assertEquals(Color.blue, cs.findColour('h'));
72  0 assertEquals(c2, cs.findColour('c'));
73    // 'lowercase' sets all lower-case not already set to the given colour
74  0 assertEquals(Color.orange, cs.findColour('t'));
75  0 assertEquals(Color.blue, cs.findColour('k'));
76  0 assertEquals(Color.blue, cs.findColour('a'));
77  0 assertEquals(Color.pink, cs.findColour('s'));
78    }
79   
 
80  0 toggle @Test(groups = "Functional")
81    public void testToAppletParameter()
82    {
83  0 UserColourScheme cs = new UserColourScheme(
84    "E,D=red; K,R,H=0022FF; c=10 , 20,30");
85  0 String param = cs.toAppletParameter();
86  0 assertEquals("D,E=ff0000;H,K,R=0022ff;c=0a141e", param);
87    }
88   
89    /**
90    * Test for user colour scheme constructed with a colour per residue,
91    * including gap. Note this can currently be done from the User Defined
92    * Colours dialog, but not by parsing a colours parameter, as
93    * parseAppletParameter only recognises amino acid codes.
94    */
 
95  0 toggle @Test(groups = "Functional")
96    public void testConstructor_coloursArray()
97    {
98  0 Color g = Color.green;
99  0 Color y = Color.yellow;
100  0 Color b = Color.blue;
101  0 Color r = Color.red;
102    // colours for ARNDCQEGHILKMFPSTWYVBZ and gap
103  0 Color[] colours = new Color[] { g, y, b, r, g, y, r, b, g, y, r, b, g,
104    y, r, b, g, y, r, b, g, y, r, g };
105  0 UserColourScheme cs = new UserColourScheme(colours);
106   
107  0 assertEquals(g, cs.findColour('A'));
108  0 assertEquals(b, cs.findColour('n'));
109  0 assertEquals(g, cs.findColour('-'));
110  0 assertEquals(g, cs.findColour('.'));
111  0 assertEquals(g, cs.findColour(' '));
112    }
113    }