Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.io

File IdentifyFileTest.java

 
testIdentify: Problem opening rf00031_folded.stk : FILE CANNOT BE OPENE...
 

Code metrics

0
22
5
1
138
85
5
0.23
4.4
5
1

Classes

Class Line # Actions
IdentifyFileTest 34 22 5 0
1.0100%
 

Contributing tests

This file is covered by 22 tests. .

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.io;
22   
23    import static org.testng.AssertJUnit.assertFalse;
24    import static org.testng.AssertJUnit.assertSame;
25    import static org.testng.AssertJUnit.assertTrue;
26   
27    import jalview.gui.JvOptionPane;
28   
29    import org.testng.Assert;
30    import org.testng.annotations.BeforeClass;
31    import org.testng.annotations.DataProvider;
32    import org.testng.annotations.Test;
33   
 
34    public class IdentifyFileTest
35    {
36   
 
37  1 toggle @BeforeClass(alwaysRun = true)
38    public void setUpJvOptionPane()
39    {
40  1 JvOptionPane.setInteractiveMode(false);
41  1 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
42    }
43   
 
44  20 toggle @Test(groups = { "Functional" }, dataProvider = "identifyFiles")
45    public void testIdentify(String data, FileFormatI expectedFileType)
46    throws FileFormatException
47    {
48  20 DataSourceType protocol = DataSourceType.FILE;
49  20 IdentifyFile ider = new IdentifyFile();
50  20 Test failure here FileFormatI actualFiletype = ider.identify(data, protocol);
51  19 Assert.assertSame(actualFiletype, expectedFileType,
52    "File identification Failed!");
53    }
54   
55    /**
56    * Additional tests for Jalview features file
57    *
58    * @throws FileFormatException
59    */
 
60  1 toggle @Test(groups = "Functional")
61    public void testIdentify_featureFile() throws FileFormatException
62    {
63  1 IdentifyFile ider = new IdentifyFile();
64   
65    /*
66    * Jalview format with features only, no feature colours
67    */
68  1 String data = "Iron-sulfur (2Fe-2S)\tFER_CAPAA\t-1\t39\t39\tMETAL\n"
69    + "Iron-phosphorus (2Fe-P)\tID_NOT_SPECIFIED\t2\t86\t87\tMETALLIC\n";
70  1 assertSame(FileFormat.Features,
71    ider.identify(data, DataSourceType.PASTE));
72   
73    /*
74    * Jalview feature colour followed by GFF format feature data
75    */
76  1 data = "METAL\tcc9900\n" + "GFF\n"
77    + "FER_CAPAA\tuniprot\tMETAL\t44\t45\t4.0\t.\t.\n";
78  1 assertSame(FileFormat.Features,
79    ider.identify(data, DataSourceType.PASTE));
80   
81    /*
82    * Feature with '<' in the name (JAL-2098)
83    */
84  1 data = "kD < 3\tred\n" + "Low kD\tFER_CAPAA\t-1\t39\t39\tkD < 3\n";
85  1 assertSame(FileFormat.Features,
86    ider.identify(data, DataSourceType.PASTE));
87    }
88   
 
89  1 toggle @DataProvider(name = "identifyFiles")
90    public Object[][] IdentifyFileDP()
91    {
92  1 return new Object[][] {
93    { "examples/example.json", FileFormat.Json },
94    { "examples/plantfdx.fa", FileFormat.Fasta },
95    { "examples/dna_interleaved.phy", FileFormat.Phylip },
96    { "examples/2GIS.pdb", FileFormat.PDB },
97    { "examples/rf00031_folded.stk", FileFormat.Stockholm },
98    { "examples/testdata/test.rnaml", FileFormat.Rnaml },
99    { "examples/testdata/test.aln", FileFormat.Clustal },
100    { "examples/testdata/test.pfam", FileFormat.Pfam },
101    { "examples/testdata/test.msf", FileFormat.MSF },
102    { "examples/testdata/test.pir", FileFormat.PIR },
103    { "examples/testdata/test.html", FileFormat.Html },
104    { "examples/testdata/test.pileup", FileFormat.Pileup },
105    { "examples/testdata/test.blc", FileFormat.BLC },
106    { "examples/exampleFeatures.txt", FileFormat.Features },
107    { "examples/testdata/simpleGff3.gff", FileFormat.Features },
108    { "examples/testdata/test.jvp", FileFormat.Jalview },
109    { "examples/testdata/test.cif", FileFormat.MMCif },
110    {
111    "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
112    FileFormat.Fasta },
113    { "resources/scoreModel/pam250.scm", FileFormat.ScoreMatrix },
114    { "resources/scoreModel/blosum80.scm", FileFormat.ScoreMatrix }
115    // { "examples/testdata/test.amsa", "AMSA" },
116    // { "examples/test.jnet", "JnetFile" },
117    };
118    }
119   
 
120  1 toggle @Test(groups = "Functional")
121    public void testLooksLikeFeatureData()
122    {
123  1 IdentifyFile id = new IdentifyFile();
124  1 assertFalse(id.looksLikeFeatureData(null));
125  1 assertFalse(id.looksLikeFeatureData(""));
126    // too few columns:
127  1 assertFalse(id.looksLikeFeatureData("1 \t 2 \t 3 \t 4 \t 5"));
128    // GFF format:
129  1 assertTrue(id
130    .looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
131    // Jalview format:
132  1 assertTrue(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t2462\tss"));
133    // non-numeric start column:
134  1 assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t.\t2462\tss"));
135    // non-numeric start column:
136  1 assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t.\tss"));
137    }
138    }