Clover icon

jalviewX

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

File ResidueColourFinderTest.java

 

Code metrics

2
40
4
1
151
99
5
0.12
10
4
1.25

Classes

Class Line # Actions
ResidueColourFinderTest 39 40 5 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.renderer;
22   
23    import static org.testng.AssertJUnit.assertEquals;
24   
25    import jalview.datamodel.Alignment;
26    import jalview.datamodel.AlignmentI;
27    import jalview.datamodel.Sequence;
28    import jalview.datamodel.SequenceI;
29    import jalview.gui.AlignViewport;
30    import jalview.gui.JvOptionPane;
31    import jalview.schemes.UserColourScheme;
32    import jalview.schemes.ZappoColourScheme;
33   
34    import java.awt.Color;
35   
36    import org.testng.annotations.BeforeClass;
37    import org.testng.annotations.Test;
38   
 
39    public class ResidueColourFinderTest
40    {
41   
 
42  1 toggle @BeforeClass(alwaysRun = true)
43    public void setUpJvOptionPane()
44    {
45  1 JvOptionPane.setInteractiveMode(false);
46  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
47    }
48   
 
49  1 toggle @Test(groups = { "Functional" })
50    public void testGetResidueColour_zappo()
51    {
52  1 SequenceI seq = new Sequence("name", "MATVLGSPRAPAFF"); // FER1_MAIZE...
53  1 AlignmentI al = new Alignment(new SequenceI[] { seq });
54  1 final AlignViewport av = new AlignViewport(al);
55  1 ResidueColourFinder rcf = new ResidueColourFinder();
56  1 av.setGlobalColourScheme(new ZappoColourScheme());
57   
58    // @see ResidueProperties.zappo
59  1 assertEquals(Color.pink,
60    rcf.getResidueColour(true, av.getResidueShading(), null, seq, 0,
61    null)); // M
62  1 assertEquals(Color.green,
63    rcf.getResidueColour(true, av.getResidueShading(), null, seq, 2,
64    null)); // T
65  1 assertEquals(Color.magenta,
66    rcf.getResidueColour(true, av.getResidueShading(), null, seq, 5,
67    null)); // G
68  1 assertEquals(Color.orange,
69    rcf.getResidueColour(true, av.getResidueShading(), null, seq,
70    12,
71    null)); // F
72   
73    // everything is white if showBoxes is false
74  1 assertEquals(Color.white, rcf.getResidueColour(false,
75    av.getResidueShading(), null, seq, 0, null)); // M
76  1 assertEquals(Color.white, rcf.getResidueColour(false,
77    av.getResidueShading(), null, seq, 2, null)); // T
78  1 assertEquals(Color.white, rcf.getResidueColour(false,
79    av.getResidueShading(), null, seq, 5, null)); // G
80  1 assertEquals(Color.white, rcf.getResidueColour(false,
81    av.getResidueShading(), null, seq, 12, null)); // F
82    }
83   
 
84  1 toggle @Test(groups = { "Functional" })
85    public void testGetResidueColour_none()
86    {
87  1 SequenceI seq = new Sequence("name", "MA--TVLGSPRAPAFF");
88  1 AlignmentI al = new Alignment(new SequenceI[] { seq });
89  1 final AlignViewport av = new AlignViewport(al);
90  1 ResidueColourFinder rcf = new ResidueColourFinder();
91   
92  1 assertEquals(Color.white,
93    rcf.getResidueColour(true, av.getResidueShading(),
94    null, seq, 0, null));
95  1 assertEquals(Color.white,
96    rcf.getResidueColour(true, av.getResidueShading(),
97    null, seq, 2, null));
98   
99    // no change if showBoxes is false
100  1 assertEquals(Color.white, rcf.getResidueColour(false,
101    av.getResidueShading(), null, seq, 0, null));
102  1 assertEquals(Color.white, rcf.getResidueColour(false,
103    av.getResidueShading(), null, seq, 2, null));
104    }
105   
 
106  1 toggle @Test(groups = { "Functional" })
107    public void testGetResidueColour_userdef()
108    {
109  1 SequenceI seq = new Sequence("name", "MAT--GSPRAPAFF"); // FER1_MAIZE... + a
110    // gap
111  1 AlignmentI al = new Alignment(new SequenceI[] { seq });
112  1 final AlignViewport av = new AlignViewport(al);
113  1 ResidueColourFinder rcf = new ResidueColourFinder();
114   
115  1 Color[] newColours = new Color[24];
116  25 for (int i = 0; i < 24; i++)
117    {
118  24 newColours[i] = null;
119    }
120   
121  1 av.setGlobalColourScheme(new UserColourScheme(newColours));
122   
123    // gap colour not specified so gap colour is null
124    // this is consistent with previous behaviour, but may not be correct?
125  1 assertEquals(null, rcf.getResidueColour(true, av.getResidueShading(),
126    null, seq, 3, null));
127   
128  1 newColours[23] = Color.pink;
129  1 av.setGlobalColourScheme(new UserColourScheme(newColours));
130   
131    // gap colour specified as pink
132  1 assertEquals(Color.pink, rcf.getResidueColour(true,
133    av.getResidueShading(),
134    null, seq, 3, null));
135   
136    // everything is white if showBoxes is false
137  1 newColours[23] = null;
138  1 assertEquals(Color.white, rcf.getResidueColour(false,
139    av.getResidueShading(),
140    null, seq, 3, null));
141   
142  1 newColours[23] = Color.pink;
143  1 av.setGlobalColourScheme(new UserColourScheme(newColours));
144   
145    // gap colour specified as pink
146  1 assertEquals(Color.white, rcf.getResidueColour(false,
147    av.getResidueShading(), null, seq, 3, null));
148    }
149   
150    // TODO more tests for getResidueColour covering groups, feature rendering...
151    }