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.datamodel.Alignment;
26 import jalview.datamodel.Sequence;
27 import jalview.datamodel.SequenceI;
29 import java.awt.Dimension;
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);
136 * Test side effect that end residue is set correctly by setScrollValues, with
137 * or without hidden columns
139 @Test(groups = "Functional")
140 public void TestSetScrollValues()
142 SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3, seq4, seq5,
143 seq6, seq7, seq8, seq9, seq10, seq11, seq12, seq13, seq14, seq15,
144 seq16, seq17, seq18, seq19, seq20, seq21, seq22, seq23 };
145 Alignment al = new Alignment(seqs);
148 AlignFrame alignFrame = new AlignFrame(al, 500, 700);
150 alignFrame.alignPanel.getSeqPanel().seqCanvas
151 .setPreferredSize(new Dimension(300, 300));
153 int oldres = alignFrame.getViewport().getEndRes();
154 alignFrame.alignPanel.setScrollValues(-1, 5);
156 // setting -ve x value does not change residue
157 assertEquals(alignFrame.getViewport().getEndRes(), oldres);
159 alignFrame.alignPanel.setScrollValues(0, 5);
161 // setting 0 as x value does not change residue
162 assertEquals(alignFrame.getViewport().getEndRes(), oldres);
164 alignFrame.alignPanel.setScrollValues(5, 5);
165 // setting x value to 20 extends endRes by 20px converted to residues
166 assertEquals(alignFrame.getViewport().getEndRes(), oldres + 5);