1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
21 |
|
package jalview.bin; |
22 |
|
|
23 |
|
import java.awt.image.BufferedImage; |
24 |
|
import java.io.File; |
25 |
|
import java.io.IOException; |
26 |
|
import java.nio.file.Files; |
27 |
|
import java.util.Date; |
28 |
|
import java.util.HashSet; |
29 |
|
import java.util.Set; |
30 |
|
|
31 |
|
import javax.imageio.ImageIO; |
32 |
|
import javax.swing.SwingUtilities; |
33 |
|
|
34 |
|
import org.testng.Assert; |
35 |
|
import org.testng.annotations.AfterClass; |
36 |
|
import org.testng.annotations.AfterMethod; |
37 |
|
import org.testng.annotations.BeforeClass; |
38 |
|
import org.testng.annotations.DataProvider; |
39 |
|
import org.testng.annotations.Test; |
40 |
|
|
41 |
|
import jalview.gui.AlignFrame; |
42 |
|
import jalview.gui.Desktop; |
43 |
|
import jalview.gui.JvOptionPane; |
44 |
|
import jalview.util.ArrayUtils; |
45 |
|
|
|
|
| 93.3% |
Uncovered Elements: 15 (224) |
Complexity: 54 |
Complexity Density: 0.33 |
|
46 |
|
public class CommandsTest |
47 |
|
{ |
48 |
|
private static final String testfiles = "test/jalview/bin/argparser/testfiles"; |
49 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (3) |
Complexity: 1 |
Complexity Density: 0.33 |
|
50 |
2 |
@BeforeClass(alwaysRun = true)... |
51 |
|
public static void setUpBeforeClass() throws Exception |
52 |
|
{ |
53 |
2 |
Cache.loadProperties("test/jalview/gui/quitProps.jvprops"); |
54 |
2 |
Date oneHourFromNow = new Date( |
55 |
|
System.currentTimeMillis() + 3600 * 1000); |
56 |
2 |
Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", oneHourFromNow); |
57 |
|
} |
58 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
59 |
2 |
@AfterClass(alwaysRun = true)... |
60 |
|
public static void resetProps() |
61 |
|
{ |
62 |
2 |
Cache.loadProperties("test/jalview/testProps.jvprops"); |
63 |
|
} |
64 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
65 |
2 |
@BeforeClass(alwaysRun = true)... |
66 |
|
public void setUpJvOptionPane() |
67 |
|
{ |
68 |
2 |
JvOptionPane.setInteractiveMode(false); |
69 |
2 |
JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); |
70 |
|
} |
71 |
|
|
|
|
| 50% |
Uncovered Elements: 2 (4) |
Complexity: 2 |
Complexity Density: 0.5 |
|
72 |
71 |
@AfterMethod(alwaysRun = true)... |
73 |
|
public void tearDown() |
74 |
|
{ |
75 |
71 |
try |
76 |
|
{ |
77 |
|
|
78 |
71 |
SwingUtilities.invokeAndWait(new Runnable() |
79 |
|
{ |
80 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
81 |
71 |
@Override... |
82 |
|
public void run() |
83 |
|
{ |
84 |
71 |
Desktop.closeDesktop(); |
85 |
|
} |
86 |
|
}); |
87 |
|
} catch (Exception foo) |
88 |
|
{ |
89 |
0 |
System.err.println("Failed during teardown with exception"); |
90 |
0 |
foo.printStackTrace(); |
91 |
|
} |
92 |
|
|
93 |
|
} |
94 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
95 |
38 |
public static void callJalviewMain(String[] args)... |
96 |
|
{ |
97 |
38 |
callJalviewMain(args, false); |
98 |
|
} |
99 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 3 |
Complexity Density: 1 |
|
100 |
50 |
public static void callJalviewMain(String[] args, boolean newJalview)... |
101 |
|
{ |
102 |
50 |
if (Jalview.getInstance() != null && !newJalview) |
103 |
|
{ |
104 |
36 |
Jalview.getInstance().doMain(args); |
105 |
|
} |
106 |
|
else |
107 |
|
{ |
108 |
14 |
Jalview.main(args); |
109 |
|
} |
110 |
|
} |
111 |
|
|
112 |
|
|
113 |
|
|
114 |
|
|
115 |
|
|
116 |
|
|
117 |
|
|
118 |
|
|
119 |
|
|
120 |
|
|
121 |
|
|
122 |
|
|
123 |
|
|
124 |
|
|
|
|
| 90% |
Uncovered Elements: 2 (20) |
Complexity: 3 |
Complexity Density: 0.17 |
1PASS
|
|
125 |
12 |
@Test(... |
126 |
|
groups = |
127 |
|
{ "Functional", "testTask3" }, |
128 |
|
dataProvider = "cmdLines", |
129 |
|
singleThreaded = true) |
130 |
|
|
131 |
|
public void commandsOpenTest(String cmdLine, boolean cmdArgs, |
132 |
|
int numFrames, String[] sequences) |
133 |
|
{ |
134 |
12 |
try |
135 |
|
{ |
136 |
12 |
String[] args = (cmdLine + " --gui").split("\\s+"); |
137 |
12 |
callJalviewMain(args); |
138 |
12 |
Commands cmds = Jalview.getInstance().getCommands(); |
139 |
12 |
Assert.assertNotNull(cmds); |
140 |
12 |
Assert.assertEquals(cmds.commandArgsProvided(), cmdArgs, |
141 |
|
"Commands were not provided in the args"); |
142 |
12 |
Assert.assertEquals(cmds.argsWereParsed(), cmdArgs, |
143 |
|
"Overall command parse and operation is false"); |
144 |
|
|
145 |
12 |
Assert.assertEquals(Desktop.getDesktopAlignFrames().length, numFrames, |
146 |
|
"Wrong number of AlignFrames"); |
147 |
|
|
148 |
12 |
if (sequences != null) |
149 |
|
{ |
150 |
12 |
Set<String> openedSequenceNames = new HashSet<>(); |
151 |
12 |
AlignFrame[] afs = Desktop.getDesktopAlignFrames(); |
152 |
12 |
for (AlignFrame af : afs) |
153 |
|
{ |
154 |
22 |
openedSequenceNames.addAll( |
155 |
|
af.getViewport().getAlignment().getSequenceNames()); |
156 |
|
} |
157 |
12 |
for (String sequence : sequences) |
158 |
|
{ |
159 |
49 |
Assert.assertTrue(openedSequenceNames.contains(sequence), |
160 |
|
"Sequence '" + sequence |
161 |
|
+ "' was not found in opened alignment files: " |
162 |
|
+ cmdLine + ".\nOpened sequence names are:\n" |
163 |
|
+ String.join("\n", openedSequenceNames)); |
164 |
|
} |
165 |
|
} |
166 |
|
|
167 |
12 |
Assert.assertFalse( |
168 |
|
lookForSequenceName("THIS_SEQUENCE_ID_DOESN'T_EXIST")); |
169 |
|
} catch (Exception x) |
170 |
|
{ |
171 |
0 |
Assert.fail("Unexpected exception during commandsOpenTest", x); |
172 |
|
} finally |
173 |
|
{ |
174 |
12 |
tearDown(); |
175 |
|
|
176 |
|
} |
177 |
|
} |
178 |
|
|
|
|
| 90% |
Uncovered Elements: 1 (10) |
Complexity: 2 |
Complexity Density: 0.2 |
1PASS
|
|
179 |
4 |
@Test(... |
180 |
|
groups = |
181 |
|
{ "Functional", "testTask3" }, |
182 |
|
dataProvider = "structureImageOutputFiles", |
183 |
|
singleThreaded = true) |
184 |
|
public void structureImageOutputTest(String cmdLine, String[] filenames) |
185 |
|
throws IOException |
186 |
|
{ |
187 |
4 |
cleanupFiles(filenames); |
188 |
4 |
String[] args = (cmdLine).split("\\s+"); |
189 |
4 |
try |
190 |
|
{ |
191 |
4 |
callJalviewMain(args, true); |
192 |
4 |
Commands cmds = Jalview.getInstance().getCommands(); |
193 |
4 |
Assert.assertNotNull(cmds); |
194 |
4 |
verifyIncreasingSize(cmdLine, filenames); |
195 |
|
} catch (Exception x) |
196 |
|
{ |
197 |
0 |
Assert.fail("Unexpected exception during structureImageOutputTest", |
198 |
|
x); |
199 |
|
} finally |
200 |
|
{ |
201 |
4 |
cleanupFiles(filenames); |
202 |
4 |
tearDown(); |
203 |
|
} |
204 |
|
} |
205 |
|
|
206 |
|
|
207 |
|
|
208 |
|
|
209 |
|
|
|
|
| 93.3% |
Uncovered Elements: 1 (15) |
Complexity: 4 |
Complexity Density: 0.31 |
1PASS
|
|
210 |
1 |
@Test(... |
211 |
|
groups = |
212 |
|
{ "Functional", "testTask3" }, |
213 |
|
dataProvider = "compareHeadlessAndGUIOps", |
214 |
|
singleThreaded = true) |
215 |
|
public void headlessOrGuiImageOutputTest(String[] cmdLines, |
216 |
|
String[] filenames) throws IOException |
217 |
|
{ |
218 |
1 |
cleanupFiles(filenames); |
219 |
1 |
try |
220 |
|
{ |
221 |
1 |
for (String cmdLine : cmdLines) |
222 |
|
{ |
223 |
2 |
CommandLineOperations.Worker runner = CommandLineOperations |
224 |
|
.getJalviewDesktopRunner(false, cmdLine, 1000); |
225 |
2 |
long timeOut = 10000; |
226 |
262 |
while (runner.isAlive() && timeOut > 0) |
227 |
|
{ |
228 |
260 |
Thread.sleep(25); |
229 |
260 |
timeOut -= 25; |
230 |
|
} |
231 |
|
} |
232 |
|
|
233 |
1 |
verifyOrderedFileSet(cmdLines[0] + " vs " + cmdLines[1], filenames, |
234 |
|
false); |
235 |
|
|
236 |
1 |
verifySimilarEnoughImages(cmdLines[0] + " vs " + cmdLines[1], |
237 |
|
filenames, 0f, 0f); |
238 |
|
} catch (Exception x) |
239 |
|
{ |
240 |
0 |
Assert.fail("Unexpected exception during structureImageOutputTest", |
241 |
|
x); |
242 |
|
} finally |
243 |
|
{ |
244 |
1 |
cleanupFiles(filenames); |
245 |
1 |
tearDown(); |
246 |
|
} |
247 |
|
} |
248 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
249 |
1 |
@DataProvider(name = "compareHeadlessAndGUIOps")... |
250 |
|
public Object[][] compareHeadlessAndGUIOps() |
251 |
|
{ |
252 |
1 |
return new Object[][] { |
253 |
|
new Object[] |
254 |
|
{ new String[] { "--open examples/uniref50.fa " |
255 |
|
+ "--structure [seqid=FER1_SPIOL,tempfac=plddt,showssannotations,structureviewer=jmol]" |
256 |
|
+ "examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
257 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json --image=" |
258 |
|
+ testfiles + "/" |
259 |
|
+ "test-al-pae-ss-gui.png --overwrite --gui --props test/jalview/bin/commandsTest3.jvprops --quit", |
260 |
|
"--open examples/uniref50.fa " |
261 |
|
+ "--structure [seqid=FER1_SPIOL,tempfac=plddt,showssannotations,structureviewer=jmol]" |
262 |
|
+ "examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
263 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json --image=" |
264 |
|
+ testfiles + "/" |
265 |
|
+ "test-al-pae-ss-nogui.png --overwrite --nogui --props test/jalview/bin/commandsTest3.jvprops" }, |
266 |
|
new String[] |
267 |
|
{ testfiles + "/test-al-pae-ss-gui.png", |
268 |
|
testfiles + "/test-al-pae-ss-nogui.png", } } }; |
269 |
|
} |
270 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
271 |
4 |
private static void verifyIncreasingSize(String cmdLine,... |
272 |
|
String[] filenames) throws Exception |
273 |
|
{ |
274 |
4 |
verifyOrderedFileSet(cmdLine, filenames, true); |
275 |
|
} |
276 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (16) |
Complexity: 3 |
Complexity Density: 0.25 |
|
277 |
5 |
private static void verifyOrderedFileSet(String cmdLine,... |
278 |
|
String[] filenames, boolean increasingSize) throws Exception |
279 |
|
{ |
280 |
5 |
File lastFile = null; |
281 |
5 |
for (String filename : filenames) |
282 |
|
{ |
283 |
12 |
File file = new File(filename); |
284 |
12 |
Assert.assertTrue(file.exists(), "File '" + filename |
285 |
|
+ "' was not created by '" + cmdLine + "'"); |
286 |
12 |
Assert.assertTrue(file.isFile(), "File '" + filename |
287 |
|
+ "' is not a file from '" + cmdLine + "'"); |
288 |
12 |
Assert.assertTrue(Files.size(file.toPath()) > 0, "File '" + filename |
289 |
|
+ "' has no content from '" + cmdLine + "'"); |
290 |
|
|
291 |
12 |
if (lastFile != null) |
292 |
|
{ |
293 |
7 |
waitForLastWrite(file, 25); |
294 |
|
|
295 |
7 |
if (increasingSize) |
296 |
|
{ |
297 |
6 |
Assert.assertTrue( |
298 |
|
Files.size(file.toPath()) > Files.size(lastFile.toPath()), |
299 |
|
"Expected " + file.toPath() + " to be larger than " |
300 |
|
+ lastFile.toPath()); |
301 |
|
} |
302 |
|
else |
303 |
|
{ |
304 |
1 |
Assert.assertEquals(Files.size(file.toPath()), |
305 |
|
Files.size(lastFile.toPath()), |
306 |
|
"New file " + file.toPath() |
307 |
|
+ " (actual size) not same as last file's size " |
308 |
|
+ lastFile.toString()); |
309 |
|
} |
310 |
|
} |
311 |
|
|
312 |
12 |
lastFile = file; |
313 |
|
} |
314 |
|
|
315 |
|
} |
316 |
|
|
|
|
| 90% |
Uncovered Elements: 4 (40) |
Complexity: 11 |
Complexity Density: 0.39 |
|
317 |
1 |
private static void verifySimilarEnoughImages(String cmdLine,... |
318 |
|
String[] filenames, float w_tolerance_pc, float h_tolerance_pc) |
319 |
|
throws Exception |
320 |
|
{ |
321 |
1 |
int min_w = -1; |
322 |
1 |
int max_w = -1; |
323 |
1 |
int min_h = -1; |
324 |
1 |
int max_h = -1; |
325 |
1 |
for (String filename : filenames) |
326 |
|
{ |
327 |
2 |
File file = new File(filename); |
328 |
2 |
Assert.assertTrue(file.exists(), "File '" + filename |
329 |
|
+ "' was not created by '" + cmdLine + "'"); |
330 |
2 |
Assert.assertTrue(file.isFile(), "File '" + filename |
331 |
|
+ "' is not a file from '" + cmdLine + "'"); |
332 |
2 |
Assert.assertTrue(Files.size(file.toPath()) > 0, "File '" + filename |
333 |
|
+ "' has no content from '" + cmdLine + "'"); |
334 |
|
|
335 |
2 |
BufferedImage img = ImageIO.read(file); |
336 |
2 |
if (img.getWidth() < min_w || min_w == -1) |
337 |
|
{ |
338 |
1 |
min_w = img.getWidth(); |
339 |
|
} |
340 |
2 |
if (img.getWidth() > max_w || max_w == -1) |
341 |
|
{ |
342 |
1 |
max_w = img.getWidth(); |
343 |
|
} |
344 |
2 |
if (img.getHeight() < min_h || min_h == -1) |
345 |
|
{ |
346 |
1 |
min_h = img.getHeight(); |
347 |
|
} |
348 |
2 |
if (img.getHeight() > max_h || max_h == -1) |
349 |
|
{ |
350 |
1 |
max_h = img.getHeight(); |
351 |
|
} |
352 |
|
} |
353 |
1 |
Assert.assertTrue(min_w > 0, |
354 |
|
"Minimum width is not positive (" + min_w + ")"); |
355 |
1 |
Assert.assertTrue(max_w > 0, |
356 |
|
"Maximum width is not positive (" + max_w + ")"); |
357 |
1 |
Assert.assertTrue(min_h > 0, |
358 |
|
"Minimum height is not positive (" + min_h + ")"); |
359 |
1 |
Assert.assertTrue(max_h > 0, |
360 |
|
"Maximum height is not positive (" + max_h + ")"); |
361 |
|
|
362 |
1 |
Assert.assertTrue(100 * (max_w - min_w) / min_w <= w_tolerance_pc, |
363 |
|
"Width variation (" + (max_w - min_w) |
364 |
|
+ " not within tolerance (" + w_tolerance_pc |
365 |
|
+ "%) of minimum width (" + min_w + ")"); |
366 |
1 |
if (max_w != min_w) |
367 |
|
{ |
368 |
0 |
System.out.println("Widths within tolerance (" + w_tolerance_pc |
369 |
|
+ "%), min_w=" + min_w + " < max_w=" + max_w); |
370 |
|
} |
371 |
1 |
Assert.assertTrue(100 * (max_h - min_h) / min_h <= h_tolerance_pc, |
372 |
|
"Height variation (" + (max_h - min_h) |
373 |
|
+ " not within tolerance (" + h_tolerance_pc |
374 |
|
+ "%) of minimum height (" + min_h + ")"); |
375 |
1 |
if (max_h != min_h) |
376 |
|
{ |
377 |
0 |
System.out.println("Heights within tolerance (" + h_tolerance_pc |
378 |
|
+ "%), min_h=" + min_h + " < max_h=" + max_h); |
379 |
|
} |
380 |
|
} |
381 |
|
|
|
|
| 88.9% |
Uncovered Elements: 1 (9) |
Complexity: 3 |
Complexity Density: 0.43 |
|
382 |
7 |
private static long waitForLastWrite(File file, int i) throws IOException... |
383 |
|
{ |
384 |
7 |
long lastSize, stableSize = Files.size(file.toPath()); |
385 |
|
|
386 |
7 |
do |
387 |
|
{ |
388 |
7 |
lastSize = stableSize; |
389 |
7 |
try |
390 |
|
{ |
391 |
7 |
Thread.sleep(i); |
392 |
|
} catch (Exception x) |
393 |
|
{ |
394 |
|
} |
395 |
7 |
stableSize = Files.size(file.toPath()); |
396 |
7 |
} while (stableSize != lastSize); |
397 |
7 |
return stableSize; |
398 |
|
} |
399 |
|
|
|
|
| 95.2% |
Uncovered Elements: 1 (21) |
Complexity: 3 |
Complexity Density: 0.16 |
1PASS
|
|
400 |
5 |
@Test(... |
401 |
|
groups = "Functional", |
402 |
|
dataProvider = "argfileOutputFiles", |
403 |
|
singleThreaded = true) |
404 |
|
|
405 |
|
public void argFilesGlobAndSubstitutionsTest(String cmdLine, |
406 |
|
String[] filenames) throws IOException |
407 |
|
{ |
408 |
5 |
cleanupFiles(filenames); |
409 |
5 |
String[] args = (cmdLine + " --gui").split("\\s+"); |
410 |
5 |
try |
411 |
|
{ |
412 |
5 |
callJalviewMain(args); |
413 |
5 |
Commands cmds = Jalview.getInstance().getCommands(); |
414 |
5 |
Assert.assertNotNull(cmds); |
415 |
5 |
File lastFile = null; |
416 |
5 |
for (String filename : filenames) |
417 |
|
{ |
418 |
9 |
File file = new File(filename); |
419 |
9 |
Assert.assertTrue(file.exists(), "File '" + filename |
420 |
|
+ "' was not created by '" + cmdLine + "'"); |
421 |
9 |
Assert.assertTrue(file.isFile(), "File '" + filename |
422 |
|
+ "' is not a file from '" + cmdLine + "'"); |
423 |
9 |
Assert.assertTrue(Files.size(file.toPath()) > 0, "File '" + filename |
424 |
|
+ "' has no content from '" + cmdLine + "'"); |
425 |
|
|
426 |
9 |
if (lastFile != null) |
427 |
|
{ |
428 |
4 |
Assert.assertTrue(Files.size(file.toPath()) > Files |
429 |
|
.size(lastFile.toPath())); |
430 |
4 |
System.out.println("this file: " + file + " +" |
431 |
|
+ Files.size(file.toPath()) + " greater than " |
432 |
|
+ Files.size(lastFile.toPath())); |
433 |
|
} |
434 |
|
|
435 |
9 |
lastFile = file; |
436 |
|
} |
437 |
|
} catch (Exception x) |
438 |
|
{ |
439 |
0 |
Assert.fail( |
440 |
|
"Unexpected exception during argFilesGlobAndSubstitutions", |
441 |
|
x); |
442 |
|
} finally |
443 |
|
{ |
444 |
5 |
cleanupFiles(filenames); |
445 |
5 |
tearDown(); |
446 |
|
} |
447 |
|
} |
448 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
449 |
1 |
@DataProvider(name = "structureImageOutputFiles")... |
450 |
|
public Object[][] structureImageOutputFiles() |
451 |
|
{ |
452 |
1 |
return new Object[][] { |
453 |
|
|
454 |
|
|
455 |
|
|
456 |
|
{ "--gui --nonews --nosplash --open=./examples/test_fab41.result/sample.a2m " |
457 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
458 |
|
+ "--structureimage=" + testfiles |
459 |
|
+ "/structureimage0-1.png " |
460 |
|
+ "--open=./examples/test_fab41.result/sample.a2m " |
461 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
462 |
|
+ "--structureimage=" + testfiles |
463 |
|
+ "/structureimage0-2.png --scale=1.5 " |
464 |
|
+ "--open=./examples/test_fab41.result/sample.a2m " |
465 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
466 |
|
+ "--structureimage=" + testfiles |
467 |
|
+ "/structureimage0-3.png --scale=2.0 ", |
468 |
|
new String[] |
469 |
|
{ testfiles + "/structureimage0-1.png", |
470 |
|
testfiles + "/structureimage0-2.png", |
471 |
|
testfiles + "/structureimage0-3.png" } }, |
472 |
|
{ "--headless --noquit --open=./examples/test_fab41.result/sample.a2m " |
473 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
474 |
|
+ "--structureimage=" + testfiles |
475 |
|
+ "/structureimage1-1.png " |
476 |
|
+ "--open=./examples/test_fab41.result/sample.a2m " |
477 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
478 |
|
+ "--structureimage=" + testfiles |
479 |
|
+ "/structureimage1-2.png --scale=1.5 " |
480 |
|
+ "--open=./examples/test_fab41.result/sample.a2m " |
481 |
|
+ "--structure=./examples/test_fab41.result/test_fab41_unrelaxed_rank_1_model_3.pdb " |
482 |
|
+ "--structureimage=" + testfiles |
483 |
|
+ "/structureimage1-3.png --scale=2.0 ", |
484 |
|
new String[] |
485 |
|
{ testfiles + "/structureimage1-1.png", |
486 |
|
testfiles + "/structureimage1-2.png", |
487 |
|
testfiles + "/structureimage1-3.png" } }, |
488 |
|
{ "--gui --nonews --nosplash --open examples/1gaq.txt --append ./examples/3W5V.pdb " |
489 |
|
+ "--structure examples/1gaq.txt --seqid \"1GAQ|A\" " |
490 |
|
+ "--structureimage " + testfiles |
491 |
|
+ "/structureimage2-1gaq.png --structure examples/3W5V.pdb " |
492 |
|
+ "--seqid \"3W5V|A\" --structureimage " + testfiles |
493 |
|
+ "/structureimage2-3w5v.png --overwrite", |
494 |
|
|
495 |
|
new String[] |
496 |
|
{ testfiles + "/structureimage2-3w5v.png", |
497 |
|
testfiles + "/structureimage2-1gaq.png", } }, |
498 |
|
{ "--headless --noquit --open ./examples/1gaq.txt --append ./examples/3W5V.pdb " |
499 |
|
+ "--structure examples/1gaq.txt --seqid \"1GAQ|A\" " |
500 |
|
+ "--structureimage " + testfiles |
501 |
|
+ "/structureimage3-1gaq.png --structure examples/3W5V.pdb " |
502 |
|
+ "--seqid \"3W5V|A\" --structureimage " + testfiles |
503 |
|
+ "/structureimage3-3w5v.png --overwrite", |
504 |
|
|
505 |
|
new String[] |
506 |
|
{ testfiles + "/structureimage3-3w5v.png", |
507 |
|
testfiles + "/structureimage3-1gaq.png", } } |
508 |
|
|
509 |
|
|
510 |
|
|
511 |
|
}; |
512 |
|
|
513 |
|
} |
514 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
515 |
1 |
@DataProvider(name = "argfileOutputFiles")... |
516 |
|
public Object[][] argfileOutputFiles() |
517 |
|
{ |
518 |
1 |
return new Object[][] { |
519 |
|
|
520 |
|
{ "--gui --argfile=" + testfiles + "/**/*.txt", new String[] |
521 |
|
{ testfiles + "/dir1/test1.png", testfiles + "/dir2/test1.png", |
522 |
|
testfiles + "/dir3/subdir/test0.png" } }, |
523 |
|
{ "--gui --argfile=" + testfiles + "/**/argfile.txt", new String[] |
524 |
|
{ testfiles + "/dir1/test1.png", testfiles + "/dir2/test1.png" } }, |
525 |
|
{ "--gui --argfile=" + testfiles + "/dir*/argfile.txt", new String[] |
526 |
|
{ testfiles + "/dir1/test1.png", testfiles + "/dir2/test1.png" } }, |
527 |
|
{ "--gui --initsubstitutions --append examples/uniref50.fa --image " |
528 |
|
+ testfiles + "/{basename}.png", |
529 |
|
new String[] |
530 |
|
{ testfiles + "/uniref50.png" } }, |
531 |
|
{ "--gui --append examples/uniref50.fa --nosubstitutions --image " |
532 |
|
+ testfiles + "/{basename}.png", |
533 |
|
new String[] |
534 |
|
{ testfiles + "/{basename}.png" } } |
535 |
|
|
536 |
|
}; |
537 |
|
|
538 |
|
} |
539 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0.2 |
|
540 |
1 |
@DataProvider(name = "cmdLines")... |
541 |
|
public Object[][] cmdLines() |
542 |
|
{ |
543 |
1 |
String[] someUniref50Seqs = new String[] { "FER_CAPAA", "FER_CAPAN", |
544 |
|
"FER1_MAIZE", "FER1_SPIOL", "O80429_MAIZE" }; |
545 |
1 |
String[] t1 = new String[] { "TEST1" }; |
546 |
1 |
String[] t2 = new String[] { "TEST2" }; |
547 |
1 |
String[] t3 = new String[] { "TEST3" }; |
548 |
1 |
return new Object[][] { |
549 |
|
|
550 |
|
|
551 |
|
{ "--append=examples/uniref50.fa", true, 1, someUniref50Seqs }, |
552 |
|
{ "--append examples/uniref50.fa", true, 1, someUniref50Seqs }, |
553 |
|
{ "--append=examples/uniref50*.fa", true, 1, someUniref50Seqs }, |
554 |
|
|
555 |
|
{ "--append examples/uniref50.fa examples/uniref50_mz.fa", true, 1, |
556 |
|
someUniref50Seqs }, |
557 |
|
{ "--append=[new]examples/uniref50*.fa", true, 2, |
558 |
|
someUniref50Seqs }, |
559 |
|
{ "--open=examples/uniref50*.fa", true, 2, someUniref50Seqs }, |
560 |
|
{ "examples/uniref50.fa", true, 1, someUniref50Seqs }, |
561 |
|
{ "examples/uniref50.fa " + testfiles + "/test1.fa", true, 2, |
562 |
|
ArrayUtils.concatArrays(someUniref50Seqs, t1) }, |
563 |
|
{ "examples/uniref50.fa " + testfiles + "/test1.fa", true, 2, t1 }, |
564 |
|
{ "--gui --argfile=" + testfiles + "/argfile0.txt", true, 1, |
565 |
|
ArrayUtils.concatArrays(t1, t3) }, |
566 |
|
{ "--gui --argfile=" + testfiles + "/argfile*.txt", true, 5, |
567 |
|
ArrayUtils.concatArrays(t1, t2, t3) }, |
568 |
|
{ "--gui --argfile=" + testfiles + "/argfile.autocounter", true, 3, |
569 |
|
ArrayUtils.concatArrays(t1, t2) } }; |
570 |
|
|
571 |
|
} |
572 |
|
|
|
|
| 75% |
Uncovered Elements: 2 (8) |
Complexity: 2 |
Complexity Density: 0.33 |
|
573 |
12 |
public static boolean lookForSequenceName(String sequenceName)... |
574 |
|
{ |
575 |
12 |
AlignFrame[] afs = Desktop.getDesktopAlignFrames(); |
576 |
12 |
for (AlignFrame af : afs) |
577 |
|
{ |
578 |
22 |
for (String name : af.getViewport().getAlignment().getSequenceNames()) |
579 |
|
{ |
580 |
180 |
if (sequenceName.equals(name)) |
581 |
|
{ |
582 |
0 |
return true; |
583 |
|
} |
584 |
|
} |
585 |
|
} |
586 |
12 |
return false; |
587 |
|
} |
588 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 2 |
Complexity Density: 0.5 |
|
589 |
47 |
public static void cleanupFiles(String[] filenames)... |
590 |
|
{ |
591 |
47 |
for (String filename : filenames) |
592 |
|
{ |
593 |
115 |
File file = new File(filename); |
594 |
115 |
if (file.exists()) |
595 |
|
{ |
596 |
86 |
file.delete(); |
597 |
|
} |
598 |
|
} |
599 |
|
} |
600 |
|
|
601 |
|
private final String deleteDir = "test/deleteAfter"; |
602 |
|
|
|
|
| 94.4% |
Uncovered Elements: 1 (18) |
Complexity: 3 |
Complexity Density: 0.21 |
1PASS
|
|
603 |
11 |
@Test(... |
604 |
|
groups = "Functional", |
605 |
|
dataProvider = "allLinkedIdsData", |
606 |
|
singleThreaded = true) |
607 |
|
public void allLinkedIdsTest(String cmdLine, String[] filenames, |
608 |
|
String[] nonfilenames) |
609 |
|
{ |
610 |
11 |
String[] args = (cmdLine + " --gui").split("\\s+"); |
611 |
11 |
callJalviewMain(args); |
612 |
11 |
Commands cmds = Jalview.getInstance().getCommands(); |
613 |
11 |
Assert.assertNotNull(cmds); |
614 |
11 |
for (String filename : filenames) |
615 |
|
{ |
616 |
57 |
Assert.assertTrue(new File(filename).exists(), |
617 |
|
"File '" + filename + "' was not created"); |
618 |
|
} |
619 |
11 |
cleanupFiles(filenames); |
620 |
11 |
if (nonfilenames != null) |
621 |
|
{ |
622 |
7 |
for (String nonfilename : nonfilenames) |
623 |
|
{ |
624 |
98 |
File nonfile = new File(nonfilename); |
625 |
98 |
Assert.assertFalse(nonfile.exists(), |
626 |
|
"File " + nonfilename + " exists when it shouldn't!"); |
627 |
|
} |
628 |
|
} |
629 |
|
|
630 |
11 |
File deleteDirF = new File(deleteDir); |
631 |
11 |
if (deleteDirF.exists()) |
632 |
|
{ |
633 |
11 |
deleteDirF.delete(); |
634 |
|
} |
635 |
|
} |
636 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
637 |
1 |
@DataProvider(name = "allLinkedIdsData")... |
638 |
|
public Object[][] allLinkedIdsData() |
639 |
|
{ |
640 |
1 |
return new Object[][] { |
641 |
|
|
642 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --output={dirname}/{basename}.stk --close", |
643 |
|
new String[] |
644 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
645 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
646 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", }, |
647 |
|
null }, |
648 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close", |
649 |
|
new String[] |
650 |
|
{ "test/jalview/bin/argparser/testfiles/test1.png", |
651 |
|
"test/jalview/bin/argparser/testfiles/test2.png", |
652 |
|
"test/jalview/bin/argparser/testfiles/test3.png", }, |
653 |
|
null }, |
654 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/*.fa --all --output={dirname}/{basename}.stk --close", |
655 |
|
new String[] |
656 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
657 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
658 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", }, |
659 |
|
new String[] |
660 |
|
{ "test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
661 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
662 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
663 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
664 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
665 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
666 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
667 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
668 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, }, |
669 |
|
{ "--gui --open=test/jalview/bin/argparser/**/*.fa --all --output={dirname}/{basename}.stk --close", |
670 |
|
new String[] |
671 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
672 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
673 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
674 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
675 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
676 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
677 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
678 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
679 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
680 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
681 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
682 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, |
683 |
|
null }, |
684 |
|
{ "--gui --open=test/jalview/bin/argparser/**/*.fa --output=*/*.stk --close", |
685 |
|
new String[] |
686 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
687 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
688 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
689 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
690 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
691 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
692 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
693 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
694 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
695 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
696 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
697 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, |
698 |
|
null }, |
699 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --all --output=*/*.stk --close", |
700 |
|
new String[] |
701 |
|
{ "test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
702 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
703 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
704 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
705 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", }, |
706 |
|
new String[] |
707 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
708 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
709 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
710 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
711 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
712 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
713 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, }, |
714 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --output=*/*.stk --close", |
715 |
|
new String[] |
716 |
|
{ "test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
717 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
718 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", }, |
719 |
|
new String[] |
720 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
721 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
722 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
723 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
724 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
725 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
726 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, }, |
727 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --output={dirname}/{basename}.stk --close", |
728 |
|
new String[] |
729 |
|
{ "test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
730 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
731 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", }, |
732 |
|
new String[] |
733 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
734 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
735 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
736 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
737 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
738 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
739 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
740 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
741 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, }, |
742 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --output={dirname}/{basename}.stk --close", |
743 |
|
new String[] |
744 |
|
{ "test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
745 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
746 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", }, |
747 |
|
new String[] |
748 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
749 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
750 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
751 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
752 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
753 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
754 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
755 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
756 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", }, }, |
757 |
|
{ "--gui --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --output {dirname}/{basename}.stk --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --output={dirname}/{basename}.aln --close", |
758 |
|
new String[] |
759 |
|
{ "test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
760 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
761 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.aln", |
762 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.aln", |
763 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.aln", }, |
764 |
|
new String[] |
765 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
766 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
767 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
768 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
769 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
770 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
771 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
772 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
773 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
774 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", |
775 |
|
"test/jalview/bin/argparser/testfiles/test1.aln", |
776 |
|
"test/jalview/bin/argparser/testfiles/test2.aln", |
777 |
|
"test/jalview/bin/argparser/testfiles/test3.aln", |
778 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.aln", |
779 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.aln", |
780 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.aln", |
781 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.aln", |
782 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.aln", |
783 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.aln", }, }, |
784 |
|
|
785 |
|
{ "--headless --open=test/jalview/bin/argparser/testfiles/dir1/*.fa --output " |
786 |
|
+ deleteDir |
787 |
|
+ "/{dirname}/{basename}.stk --open=test/jalview/bin/argparser/testfiles/dir2/*.fa --output=" |
788 |
|
+ deleteDir |
789 |
|
+ "/{dirname}/{basename}.aln --close --all --mkdirs", |
790 |
|
new String[] |
791 |
|
{ deleteDir |
792 |
|
+ "/test/jalview/bin/argparser/testfiles/dir1/test1.stk", |
793 |
|
deleteDir |
794 |
|
+ "/test/jalview/bin/argparser/testfiles/dir1/test2.stk", |
795 |
|
deleteDir |
796 |
|
+ "/test/jalview/bin/argparser/testfiles/dir2/test1.aln", |
797 |
|
deleteDir |
798 |
|
+ "/test/jalview/bin/argparser/testfiles/dir2/test2.aln", |
799 |
|
deleteDir |
800 |
|
+ "/test/jalview/bin/argparser/testfiles/dir2/test3.aln", }, |
801 |
|
new String[] |
802 |
|
{ "test/jalview/bin/argparser/testfiles/test1.stk", |
803 |
|
"test/jalview/bin/argparser/testfiles/test2.stk", |
804 |
|
"test/jalview/bin/argparser/testfiles/test3.stk", |
805 |
|
"test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
806 |
|
"test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
807 |
|
"test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
808 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
809 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
810 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
811 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", |
812 |
|
"test/jalview/bin/argparser/testfiles/test1.aln", |
813 |
|
"test/jalview/bin/argparser/testfiles/test2.aln", |
814 |
|
"test/jalview/bin/argparser/testfiles/test3.aln", |
815 |
|
"test/jalview/bin/argparser/testfiles/dir1/test1.aln", |
816 |
|
"test/jalview/bin/argparser/testfiles/dir1/test2.aln", |
817 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test0.aln", |
818 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test1.aln", |
819 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test2.aln", |
820 |
|
"test/jalview/bin/argparser/testfiles/dir3/subdir/test3.aln", |
821 |
|
deleteDir |
822 |
|
+ "test/jalview/bin/argparser/testfiles/test1.stk", |
823 |
|
deleteDir |
824 |
|
+ "test/jalview/bin/argparser/testfiles/test2.stk", |
825 |
|
deleteDir |
826 |
|
+ "test/jalview/bin/argparser/testfiles/test3.stk", |
827 |
|
deleteDir |
828 |
|
+ "test/jalview/bin/argparser/testfiles/dir2/test1.stk", |
829 |
|
deleteDir |
830 |
|
+ "test/jalview/bin/argparser/testfiles/dir2/test2.stk", |
831 |
|
deleteDir |
832 |
|
+ "test/jalview/bin/argparser/testfiles/dir2/test3.stk", |
833 |
|
deleteDir |
834 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test0.stk", |
835 |
|
deleteDir |
836 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test1.stk", |
837 |
|
deleteDir |
838 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test2.stk", |
839 |
|
deleteDir |
840 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test3.stk", |
841 |
|
deleteDir |
842 |
|
+ "test/jalview/bin/argparser/testfiles/test1.aln", |
843 |
|
deleteDir |
844 |
|
+ "test/jalview/bin/argparser/testfiles/test2.aln", |
845 |
|
deleteDir |
846 |
|
+ "test/jalview/bin/argparser/testfiles/test3.aln", |
847 |
|
deleteDir |
848 |
|
+ "test/jalview/bin/argparser/testfiles/dir1/test1.aln", |
849 |
|
deleteDir |
850 |
|
+ "test/jalview/bin/argparser/testfiles/dir1/test2.aln", |
851 |
|
deleteDir |
852 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test0.aln", |
853 |
|
deleteDir |
854 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test1.aln", |
855 |
|
deleteDir |
856 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test2.aln", |
857 |
|
deleteDir |
858 |
|
+ "test/jalview/bin/argparser/testfiles/dir3/subdir/test3.aln", }, }, |
859 |
|
|
860 |
|
}; |
861 |
|
} |
862 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
1PASS
|
|
863 |
8 |
@Test(... |
864 |
|
groups = |
865 |
|
{ "Functional", "testTask3" }, |
866 |
|
dataProvider = "structureImageAnnotationsOutputFiles", |
867 |
|
singleThreaded = true) |
868 |
|
public void structureImageAnnotationsOutputTest(String cmdLine, |
869 |
|
String filename, int height) throws IOException |
870 |
|
{ |
871 |
8 |
cleanupFiles(new String[] { filename }); |
872 |
8 |
String[] args = (cmdLine).split("\\s+"); |
873 |
8 |
callJalviewMain(args, true); |
874 |
|
|
875 |
8 |
BufferedImage img = ImageIO.read(new File(filename)); |
876 |
8 |
Assert.assertEquals(height, img.getHeight(), "Output image '" + filename |
877 |
|
+ "' is not in the expected height range, possibly because of the wrong number of annotations"); |
878 |
|
|
879 |
8 |
cleanupFiles(new String[] { filename }); |
880 |
8 |
tearDown(); |
881 |
|
} |
882 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0.5 |
|
883 |
1 |
@DataProvider(name = "structureImageAnnotationsOutputFiles")... |
884 |
|
public Object[][] structureImageAnnotationsOutputFiles() |
885 |
|
{ |
886 |
1 |
String filename = "test/jalview/bin/argparser/testfiles/test_annotations.png"; |
887 |
1 |
return new Object[][] { |
888 |
|
|
889 |
|
{ "--noquit --headless --nonews --nosplash --open=./examples/uniref50.fa " |
890 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
891 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
892 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
893 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
894 |
|
+ "--overwrite " |
895 |
|
+ "--noshowssannotations " + "--noshowannotations", |
896 |
|
filename, |
897 |
|
252 }, |
898 |
|
{ "--noquit --headless --nonews --nosplash --open=./examples/uniref50.fa " |
899 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
900 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
901 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
902 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
903 |
|
+ "--overwrite " |
904 |
|
+ "--showssannotations " + "--noshowannotations", |
905 |
|
filename, |
906 |
|
368 }, |
907 |
|
{ "--noquit --headless --nonews --nosplash --open=./examples/uniref50.fa " |
908 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
909 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
910 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
911 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
912 |
|
+ "--overwrite " |
913 |
|
+ "--noshowssannotations " + "--showannotations", |
914 |
|
filename, |
915 |
|
524 }, |
916 |
|
{ "--noquit --headless --nonews --nosplash --open=./examples/uniref50.fa " |
917 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
918 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
919 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
920 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
921 |
|
+ "--overwrite " |
922 |
|
+ "--showssannotations " + "--showannotations", |
923 |
|
filename, |
924 |
|
660 }, |
925 |
|
{ "--gui --nonews --nosplash --open=./examples/uniref50.fa " |
926 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
927 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
928 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
929 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
930 |
|
+ "--overwrite " |
931 |
|
+ "--noshowssannotations " + "--noshowannotations", |
932 |
|
filename, |
933 |
|
252 }, |
934 |
|
{ "--gui --nonews --nosplash --open=./examples/uniref50.fa " |
935 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
936 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
937 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
938 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
939 |
|
+ "--overwrite " |
940 |
|
+ "--showssannotations " + "--noshowannotations", |
941 |
|
filename, |
942 |
|
368 }, |
943 |
|
{ "--gui --nonews --nosplash --open=./examples/uniref50.fa " |
944 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
945 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
946 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
947 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
948 |
|
+ "--overwrite " |
949 |
|
+ "--noshowssannotations " + "--showannotations", |
950 |
|
filename, |
951 |
|
524 }, |
952 |
|
{ "--gui --nonews --nosplash --open=./examples/uniref50.fa " |
953 |
|
+ "--structure=examples/AlphaFold/AF-P00221-F1-model_v4.pdb " |
954 |
|
+ "--seqid=FER1_SPIOL --structureviewer=jmol " |
955 |
|
+ "--paematrix examples/AlphaFold/AF-P00221-F1-predicted_aligned_error_v4.json " |
956 |
|
+ "--image=" + filename + " " + "--tempfac=plddt " |
957 |
|
+ "--overwrite " |
958 |
|
+ "--showssannotations " + "--showannotations", |
959 |
|
filename, |
960 |
|
660 }, |
961 |
|
}; |
962 |
|
} |
963 |
|
|
964 |
|
} |