Clover icon

Coverage Report

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

File CommandsTest2.java

 

Code metrics

10
46
6
1
233
179
13
0.28
7.67
6
2.17

Classes

Class Line # Actions
CommandsTest2 44 46 13
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.bin;
22   
23    import java.util.Date;
24    import java.util.List;
25   
26    import org.testng.Assert;
27    import org.testng.annotations.AfterClass;
28    import org.testng.annotations.AfterMethod;
29    import org.testng.annotations.BeforeClass;
30    import org.testng.annotations.DataProvider;
31    import org.testng.annotations.Test;
32   
33    import jalview.api.AlignViewportI;
34    import jalview.datamodel.AlignmentAnnotation;
35    import jalview.datamodel.AlignmentI;
36    import jalview.datamodel.SequenceI;
37    import jalview.gui.AlignFrame;
38    import jalview.gui.AlignmentPanel;
39    import jalview.gui.Desktop;
40    import jalview.gui.JvOptionPane;
41    import jalview.gui.StructureViewerBase;
42   
43    @Test
 
44    public class CommandsTest2
45    {
 
46  0 toggle @BeforeClass(alwaysRun = true)
47    public static void setUpBeforeClass() throws Exception
48    {
49  0 Cache.loadProperties("test/jalview/bin/commandsTest.jvprops");
50  0 Date oneHourFromNow = new Date(
51    System.currentTimeMillis() + 3600 * 1000);
52  0 Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", oneHourFromNow);
53  0 if (Desktop.instance != null)
54  0 Desktop.instance.closeAll_actionPerformed(null);
55   
56    }
57   
 
58  0 toggle @AfterClass(alwaysRun = true)
59    public static void resetProps()
60    {
61  0 Cache.loadProperties("test/jalview/testProps.jvprops");
62    }
63   
 
64  0 toggle @BeforeClass(alwaysRun = true)
65    public void setUpJvOptionPane()
66    {
67  0 JvOptionPane.setInteractiveMode(false);
68  0 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
69    }
70   
 
71  0 toggle @AfterMethod(alwaysRun = true)
72    public void tearDown()
73    {
74  0 Desktop.closeDesktop();
75    }
76   
 
77  0 toggle @Test(
78    groups =
79    { "Functional", "testTask1" },
80    dataProvider = "structureOpeningArgsParams",
81    singleThreaded = true)
82    public void structureOpeningArgsTest(String cmdLine, int seqNum,
83    int annNum, int viewerNum)
84    {
85  0 String[] args = cmdLine.split("\\s+");
86   
87  0 CommandsTest.callJalviewMain(args);
88  0 while (Desktop.instance != null
89    && Desktop.instance.operationsAreInProgress())
90    {
91  0 try
92    {
93    // sleep for slow build server to open annotations and viewer windows
94  0 Thread.sleep(viewerNum * 50);
95    } catch (InterruptedException e)
96    {
97  0 e.printStackTrace();
98    }
99    }
100  0 ;
101   
102  0 AlignFrame[] afs = Desktop.getDesktopAlignFrames();
103  0 Assert.assertNotNull(afs);
104  0 Assert.assertTrue(afs.length > 0);
105   
106  0 AlignFrame af = afs[0];
107  0 Assert.assertNotNull(af);
108   
109  0 AlignmentPanel ap = af.alignPanel;
110  0 Assert.assertNotNull(ap);
111   
112  0 AlignmentI al = ap.getAlignment();
113  0 Assert.assertNotNull(al);
114   
115  0 List<SequenceI> seqs = al.getSequences();
116  0 Assert.assertNotNull(seqs);
117   
118  0 Assert.assertEquals(seqs.size(), seqNum, "Wrong number of sequences");
119   
120  0 AlignViewportI av = ap.getAlignViewport();
121  0 Assert.assertNotNull(av);
122   
123  0 AlignmentAnnotation[] aas = al.getAlignmentAnnotation();
124  0 int visibleAnn = 0;
125  0 int dcount = 0;
126  0 for (AlignmentAnnotation aa : aas)
127    {
128  0 if (aa.visible)
129  0 visibleAnn++;
130    }
131   
132  0 Assert.assertEquals(visibleAnn, annNum,
133    "Wrong number of visible annotations");
134   
135  0 if (viewerNum > -1)
136    {
137  0 List<StructureViewerBase> openViewers = Desktop.instance
138    .getStructureViewers(ap, null);
139  0 Assert.assertNotNull(openViewers);
140  0 int count = 0;
141  0 for (StructureViewerBase svb : openViewers)
142    {
143  0 if (svb.isVisible())
144  0 count++;
145    }
146  0 Assert.assertEquals(count, viewerNum,
147    "Wrong number of structure viewers opened");
148    }
149    }
150   
 
151  0 toggle @DataProvider(name = "structureOpeningArgsParams")
152    public Object[][] structureOpeningArgsParams()
153    {
154    /*
155    String cmdLine,
156    int seqNum,
157    int annNum,
158    int structureViewerNum,
159    */
160  0 return new Object[][] {
161    //
162    /*
163    */
164    { "--gui --nonews --nosplash --debug "
165    + "--append=examples/uniref50.fa "
166    + "--colour=gecos-flower "
167    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
168    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
169    + "--props=test/jalview/bin/commandsTest2.jvprops1 ",
170    15, 7, 1 },
171    { "--gui --nonews --nosplash --debug "
172    + "--append=examples/uniref50.fa "
173    + "--colour=gecos-flower "
174    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
175    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
176    + "--props=test/jalview/bin/commandsTest2.jvprops2 ",
177    15, 4, 1 },
178    { "--gui --nonews --nosplash --debug "
179    + "--append=examples/uniref50.fa "
180    + "--colour=gecos-flower "
181    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
182    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
183    + "--noshowssannotations "
184    + "--props=test/jalview/bin/commandsTest2.jvprops1 ",
185    15, 4, 1 },
186    { "--gui --nonews --nosplash --debug "
187    + "--append=examples/uniref50.fa "
188    + "--colour=gecos-flower "
189    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
190    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
191    + "--noshowannotations "
192    + "--props=test/jalview/bin/commandsTest2.jvprops1 ",
193    15, 3, 1 },
194    { "--gui --nonews --nosplash --debug "
195    + "--append=examples/uniref50.fa "
196    + "--colour=gecos-flower "
197    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
198    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
199    + "--noshowannotations " + "--noshowssannotations "
200    + "--props=test/jalview/bin/commandsTest2.jvprops1 ",
201    15, 0, 1 },
202    { "--gui --nonews --nosplash --debug "
203    + "--append=examples/uniref50.fa "
204    + "--colour=gecos-flower "
205    + "--structure=[seqid=FER1_SPIOL]examples/AlphaFold/AF-P00221-F1-model_v4.cif "
206    + "--paematrix=examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json "
207    + "--noshowannotations " + "--noshowssannotations "
208    + "--props=test/jalview/bin/commandsTest2.jvprops1 ",
209    15, 0, 1 },
210    { "--gui --nonews --nosplash --debug --nowebservicediscovery --props=test/jalview/bin/commandsTest.jvprops --argfile=test/jalview/bin/commandsTest2.argfile1 ",
211    16, 19, 3 },
212    { "--gui --nonews --nosplash --debug --nowebservicediscovery --props=test/jalview/bin/commandsTest.jvprops --argfile=test/jalview/bin/commandsTest2.argfile2 ",
213    16, 0, 2 },
214    { "--gui --nonews --nosplash --debug --nowebservicediscovery --props=test/jalview/bin/commandsTest.jvprops --open=./examples/test_fab41.result/sample.a2m "
215    + "--allstructures "
216    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb "
217    + "--structureviewer=none "
218    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_2_model_4.pdb "
219    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_3_model_2.pdb",
220    16, 10, 0 },
221    { "--gui --nonews --nosplash --debug --nowebservicediscovery --props=test/jalview/bin/commandsTest.jvprops --open=./examples/test_fab41.result/sample.a2m "
222    + "--allstructures "
223    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb "
224    + "--noallstructures " + "--structureviewer=none "
225    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_2_model_4.pdb "
226    + "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_3_model_2.pdb",
227    16, 10, 2 },
228    /*
229    */
230    //
231    };
232    }
233    }