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.
23 import static org.testng.Assert.assertEquals;
25 import jalview.bin.Jalview;
26 import jalview.datamodel.Alignment;
27 import jalview.datamodel.Sequence;
28 import jalview.datamodel.SequenceI;
30 import org.testng.annotations.AfterMethod;
31 import org.testng.annotations.BeforeClass;
32 import org.testng.annotations.Test;
34 public class AlignmentPanelTest
36 SequenceI seq1 = new Sequence(
38 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
40 SequenceI seq2 = new Sequence(
42 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
44 SequenceI seq3 = new Sequence(
46 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
48 SequenceI seq4 = new Sequence(
50 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
52 SequenceI seq5 = new Sequence(
54 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
56 SequenceI seq6 = new Sequence(
58 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
60 SequenceI seq7 = new Sequence(
62 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
64 SequenceI seq8 = new Sequence(
66 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
68 SequenceI seq9 = new Sequence(
70 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
72 SequenceI seq10 = new Sequence(
74 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
76 SequenceI seq11 = new Sequence(
78 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
80 SequenceI seq12 = new Sequence(
82 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
84 SequenceI seq13 = new Sequence(
86 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
88 SequenceI seq14 = new Sequence(
90 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
92 SequenceI seq15 = new Sequence(
94 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
96 SequenceI seq16 = new Sequence(
98 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
100 SequenceI seq17 = new Sequence(
102 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
104 SequenceI seq18 = new Sequence(
106 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
108 SequenceI seq19 = new Sequence(
110 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
112 SequenceI seq20 = new Sequence(
114 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
116 SequenceI seq21 = new Sequence(
118 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
120 SequenceI seq22 = new Sequence(
122 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
124 SequenceI seq23 = new Sequence(
126 "ABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBACABCABCABCABCABCABCABCABCBACBACBACBAC");
128 @BeforeClass(alwaysRun = true)
131 JvOptionPane.setInteractiveMode(false);
132 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
134 Jalview.main(new String[] { "-nonews", "-props",
135 "test/jalview/testProps.jvprops" });
138 @AfterMethod(alwaysRun = true)
139 public void tearDown()
141 Desktop.instance.closeAll_actionPerformed(null);
145 * Test side effect that end residue is set correctly by setScrollValues, with
146 * or without hidden columns
148 @Test(groups = "Functional")
149 public void TestSetScrollValues()
151 SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4, seq5,
152 seq6, seq7, seq8, seq9, seq10, seq11, seq12, seq13, seq14, seq15,
153 seq16, seq17, seq18, seq19, seq20, seq21, seq22, seq23 };
154 Alignment al = new Alignment(seqs);
156 AlignViewport av = new AlignViewport(al);
158 AlignFrame alignFrame = new AlignFrame(al, 700, 500);
159 AlignmentPanel ap = new AlignmentPanel(alignFrame, av);
161 int oldres = av.getEndRes();
162 ap.setScrollValues(-1, 5);
164 // setting -ve x value does not change residue
165 assertEquals(av.getEndRes(), oldres);
167 ap.setScrollValues(0, 5);
169 // setting 0 as x value does not change residue
170 assertEquals(av.getEndRes(), oldres);
172 ap.setScrollValues(5, 5);
173 // setting x value to 20 extends endRes by 20px converted to residues
174 assertEquals(av.getEndRes(), oldres + 5);