Class |
Line # |
Actions |
|||
---|---|---|---|---|---|
JalviewExportPropertiesTests | 41 | 18 | 5 |
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.io; | |
22 | ||
23 | import static org.testng.AssertJUnit.assertTrue; | |
24 | ||
25 | import org.testng.annotations.AfterClass; | |
26 | import org.testng.annotations.BeforeClass; | |
27 | import org.testng.annotations.Test; | |
28 | ||
29 | import jalview.datamodel.SequenceGroup; | |
30 | import jalview.gui.AlignFrame; | |
31 | import jalview.gui.Desktop; | |
32 | import jalview.gui.JvOptionPane; | |
33 | ||
34 | /** | |
35 | * tests which verify that properties and preferences are correctly interpreted | |
36 | * when exporting/importing data | |
37 | * | |
38 | * @author jprocter | |
39 | * | |
40 | */ | |
41 | public class JalviewExportPropertiesTests | |
42 | { | |
43 | ||
44 | 1 | @BeforeClass(alwaysRun = true) |
45 | public void setUpJvOptionPane() | |
46 | { | |
47 | 1 | JvOptionPane.setInteractiveMode(false); |
48 | 1 | JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); |
49 | } | |
50 | ||
51 | /** | |
52 | * @throws java.lang.Exception | |
53 | */ | |
54 | 1 | @BeforeClass(alwaysRun = true) |
55 | public static void setUpBeforeClass() throws Exception | |
56 | { | |
57 | 1 | jalview.bin.Jalview |
58 | .main(new String[] | |
59 | { "--props", "test/jalview/io/testProps.jvprops" }); | |
60 | } | |
61 | ||
62 | /** | |
63 | * @throws java.lang.Exception | |
64 | */ | |
65 | 1 | @AfterClass(alwaysRun = true) |
66 | public static void tearDownAfterClass() throws Exception | |
67 | { | |
68 | 1 | if (Desktop.instance != null) |
69 | 1 | Desktop.instance.closeAll_actionPerformed(null); |
70 | ||
71 | } | |
72 | ||
73 | 1 | @Test(groups = { "Functional" }) |
74 | public void testImportExportPeriodGaps() throws Exception | |
75 | { | |
76 | 1 | jalview.bin.Cache.setProperty("GAP_SYMBOL", "."); |
77 | 1 | assertTrue("Couldn't set gap character to '.'", |
78 | ".".equals("" + jalview.bin.Cache.getProperty("GAP_SYMBOL"))); | |
79 | 1 | AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( |
80 | "examples/uniref50.fa", DataSourceType.FILE); | |
81 | 1 | assertTrue("Didn't read in the example file correctly.", af != null); |
82 | 1 | assertTrue("Didn't set the gap character correctly", af.getViewport() |
83 | .getAlignment().getSequenceAt(0).getCharAt(5) == '.'); | |
84 | ||
85 | 1 | SequenceGroup sg = new SequenceGroup(); |
86 | 1 | sg.addSequence(af.getViewport().getAlignment().getSequenceAt(0), false); |
87 | 1 | sg.addSequence(af.getViewport().getAlignment().getSequenceAt(1), false); |
88 | 1 | sg.setStartRes(1); |
89 | 1 | sg.setEndRes(7); |
90 | 1 | af.getViewport().setSelectionGroup(sg); |
91 | 1 | String fseqs = new FormatAdapter(af.alignPanel) |
92 | .formatSequences(FileFormat.Fasta, af.alignPanel, true); | |
93 | 1 | assertTrue("Couldn't find '.' in the exported region\n" + fseqs, |
94 | fseqs.indexOf(".") > -1); | |
95 | } | |
96 | } |