JAL-653 JAL-1968 FeaturesFile now handles Jalview or GFF2 or GFF3
[jalview.git] / test / jalview / io / IdentifyFileTest.java
index c958ff0..5e376a6 100644 (file)
@@ -20,6 +20,9 @@
  */
 package jalview.io;
 
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertTrue;
+
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
@@ -32,7 +35,7 @@ public class IdentifyFileTest
   {
     String protocol = AppletFormatAdapter.FILE;
     IdentifyFile ider = new IdentifyFile();
-    String actualFiletype = ider.Identify(data, protocol);
+    String actualFiletype = ider.identify(data, protocol);
     Assert.assertEquals(actualFiletype, expectedFileType,
             "File identification Failed!");
   }
@@ -54,7 +57,10 @@ public class IdentifyFileTest
         { "examples/testdata/test.html", "HTML" },
         { "examples/testdata/test.pileup", "PileUp" },
         { "examples/testdata/test.blc", "BLC" },
-        { "examples/testdata/simplegff3.gff", "GFF v2 or v3" },
+        { "examples/exampleFeatures.txt", IdentifyFile.FeaturesFile },
+        { "examples/testdata/simplegff3.gff", IdentifyFile.FeaturesFile },
+        { "examples/testdata/exampleFeaturesMixed.gff",
+            IdentifyFile.FeaturesFile },
         { "examples/testdata/test.jvp", "Jalview" },
         {
             "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
@@ -65,4 +71,22 @@ public class IdentifyFileTest
     };
   }
 
+  @Test(groups = "Functional")
+  public void testLooksLikeFeatureData()
+  {
+    IdentifyFile id = new IdentifyFile();
+    assertFalse(id.looksLikeFeatureData(null));
+    assertFalse(id.looksLikeFeatureData(""));
+    // too few columns:
+    assertFalse(id.looksLikeFeatureData("1 \t 2 \t 3 \t 4 \t 5"));
+    // GFF format:
+    assertTrue(id
+            .looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
+    // Jalview format:
+    assertTrue(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t2462\tss"));
+    // non-numeric start column:
+    assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t.\t2462\tss"));
+    // non-numeric start column:
+    assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t.\tss"));
+  }
 }