file format enum wip changes
[jalview.git] / test / jalview / io / IdentifyFileTest.java
index 5e376a6..d693a6c 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.io;
 
+import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 
@@ -31,15 +32,50 @@ public class IdentifyFileTest
 {
 
   @Test(groups = { "Functional" }, dataProvider = "identifyFiles")
-  public void Identify(String data, String expectedFileType)
+  public void testIdentify(String data, String expectedFileType)
+          throws FileFormatException
   {
-    String protocol = AppletFormatAdapter.FILE;
+    DataSourceType protocol = DataSourceType.FILE;
     IdentifyFile ider = new IdentifyFile();
-    String actualFiletype = ider.identify(data, protocol);
+    String actualFiletype = ider.identify(data, protocol).toString();
     Assert.assertEquals(actualFiletype, expectedFileType,
             "File identification Failed!");
   }
 
+  /**
+   * Additional tests for Jalview features file
+   * 
+   * @throws FileFormatException
+   */
+  @Test(groups = "Functional")
+  public void testIdentify_featureFile() throws FileFormatException
+  {
+    IdentifyFile ider = new IdentifyFile();
+
+    /*
+     * Jalview format with features only, no feature colours
+     */
+    String data = "Iron-sulfur (2Fe-2S)\tFER_CAPAA\t-1\t39\t39\tMETAL\n"
+            + "Iron-phosphorus (2Fe-P)\tID_NOT_SPECIFIED\t2\t86\t87\tMETALLIC\n";
+    assertEquals(IdentifyFile.FeaturesFile,
+            ider.identify(data, DataSourceType.PASTE));
+
+    /*
+     * Jalview feature colour followed by GFF format feature data
+     */
+    data = "METAL\tcc9900\n" + "GFF\n"
+            + "FER_CAPAA\tuniprot\tMETAL\t44\t45\t4.0\t.\t.\n";
+    assertEquals(IdentifyFile.FeaturesFile,
+            ider.identify(data, DataSourceType.PASTE));
+
+    /*
+     * Feature with '<' in the name (JAL-2098)
+     */
+    data = "kD < 3\tred\n" + "Low kD\tFER_CAPAA\t-1\t39\t39\tkD < 3\n";
+    assertEquals(IdentifyFile.FeaturesFile,
+            ider.identify(data, DataSourceType.PASTE));
+  }
+
   @DataProvider(name = "identifyFiles")
   public Object[][] IdentifyFileDP()
   {
@@ -58,10 +94,9 @@ public class IdentifyFileTest
         { "examples/testdata/test.pileup", "PileUp" },
         { "examples/testdata/test.blc", "BLC" },
         { "examples/exampleFeatures.txt", IdentifyFile.FeaturesFile },
-        { "examples/testdata/simplegff3.gff", IdentifyFile.FeaturesFile },
-        { "examples/testdata/exampleFeaturesMixed.gff",
-            IdentifyFile.FeaturesFile },
+        { "examples/testdata/simpleGff3.gff", IdentifyFile.FeaturesFile },
         { "examples/testdata/test.jvp", "Jalview" },
+        { "examples/testdata/test.cif", "mmCIF" },
         {
             "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
             "FASTA" },