Merge branch 'develop' into features/JAL-653_JAL-1766_htslib_refseqsupport
[jalview.git] / test / jalview / io / Gff3tests.java
index 56b57af..e4a6119 100644 (file)
@@ -1,5 +1,31 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.io;
 
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertFalse;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertNull;
+import static org.testng.AssertJUnit.assertTrue;
+
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceDummy;
@@ -8,7 +34,6 @@ import jalview.gui.AlignFrame;
 
 import java.io.IOException;
 
-import org.testng.Assert;
 import org.testng.annotations.Test;
 
 public class Gff3tests
@@ -18,7 +43,7 @@ public class Gff3tests
           exonerateOutput = "examples/testdata/exonerateoutput.gff",
           simpleGff3file = "examples/testdata/simpleGff3.gff";
 
-  @Test
+  @Test(groups = { "Functional" })
   public void testExonerateImport()
   {
     // exonerate does not tag sequences after features, so we have a more
@@ -29,64 +54,62 @@ public class Gff3tests
     AlignFrame af = loader.LoadFileWaitTillLoaded(exonerateSeqs,
             FormatAdapter.FILE);
 
-    Assert.assertEquals(0, af.getViewport().getAlignment().getCodonFrames()
-            .size(), "Unexpected number of DNA protein associations");
+    assertEquals("Unexpected number of DNA protein associations", 0, af
+            .getViewport().getAlignment().getCodonFrames().size());
 
     af.loadJalviewDataFile(exonerateOutput, FormatAdapter.FILE, null, null);
 
-    Assert.assertNotEquals(
+    assertNotEquals("Expected at least one DNA protein association",
             0, af.getViewport().getAlignment().getDataset()
             .getCodonFrames().size(),
-            "Expected at least one DNA protein association");
+            );
 
   }
 
-  @Test
+  @Test(groups = { "Functional" })
   public void simpleGff3FileIdentify()
   {
-    Assert.assertEquals("Didn't recognise file correctly.",
-            IdentifyFile.GFF3File,
+    assertEquals("Didn't recognise file correctly.", IdentifyFile.GFF3File,
             new IdentifyFile().Identify(simpleGff3file, FormatAdapter.FILE));
   }
 
-  @Test
+  @Test(groups = { "Functional" })
   public void simpleGff3FileClass() throws IOException
   {
-    AlignmentI dataset = new Alignment(new SequenceI[]
-    {});
+    AlignmentI dataset = new Alignment(new SequenceI[] {});
     FeaturesFile ffile = new FeaturesFile(simpleGff3file,
             FormatAdapter.FILE);
 
     boolean parseResult = ffile.parse(dataset, null, null, false, false);
-    Assert.assertTrue(parseResult, "return result should be true");
+    assertTrue("return result should be true", parseResult);
     checkDatasetfromSimpleGff3(dataset);
   }
 
-  @Test
+  @Test(groups = { "Functional" })
   public void simpleGff3FileLoader() throws IOException
   {
     AlignFrame af = new FileLoader(false).LoadFileWaitTillLoaded(
             simpleGff3file, FormatAdapter.FILE);
-    Assert.assertTrue(af != null,
-            "Didn't read the alignment into an alignframe from Gff3 File");
+    assertTrue(
+            "Didn't read the alignment into an alignframe from Gff3 File",
+            af != null);
     checkDatasetfromSimpleGff3(af.getViewport().getAlignment().getDataset());
   }
 
-  @Test
+  @Test(groups = { "Functional" })
   public void simpleGff3RelaxedIdMatching() throws IOException
   {
-    AlignmentI dataset = new Alignment(new SequenceI[]
-    {});
+    AlignmentI dataset = new Alignment(new SequenceI[] {});
     FeaturesFile ffile = new FeaturesFile(simpleGff3file,
             FormatAdapter.FILE);
 
     boolean parseResult = ffile.parse(dataset, null, null, false, true);
-    Assert.assertTrue(parseResult,
-            "return result (relaxedID matching) should be true");
+    assertTrue("return result (relaxedID matching) should be true",
+            parseResult);
     checkDatasetfromSimpleGff3(dataset);
   }
 
-  @Test
+  @Test(groups = { "Functional" })
   public void readGff3File() throws IOException
   {
     Gff3File gff3reader = new Gff3File(simpleGff3file, FormatAdapter.FILE);
@@ -98,50 +121,50 @@ public class Gff3tests
 
   private void checkDatasetfromSimpleGff3(AlignmentI dataset)
   {
-    Assert.assertEquals(2, dataset.getHeight(),
-            "no sequences extracted from GFF3 file");
+    assertEquals("no sequences extracted from GFF3 file", 2,
+            dataset.getHeight());
 
     SequenceI seq1 = dataset.findName("seq1"), seq2 = dataset
             .findName("seq2");
-    Assert.assertNotNull(seq1);
-    Assert.assertNotNull(seq2);
-    Assert.assertFalse(
+    assertNotNull(seq1);
+    assertNotNull(seq2);
+    assertFalse(
+            "Failed to replace dummy seq1 with real sequence",
             seq1 instanceof SequenceDummy
-            && ((SequenceDummy) seq1).isDummy(),
-            "Failed to replace dummy seq1 with real sequence");
-    Assert.assertFalse(
+                    && ((SequenceDummy) seq1).isDummy());
+    assertFalse(
+            "Failed to replace dummy seq2 with real sequence",
             seq2 instanceof SequenceDummy
             && ((SequenceDummy) seq2).isDummy(),
             "Failed to replace dummy seq2 with real sequence");
     String placeholderseq = new SequenceDummy("foo").getSequenceAsString();
-    Assert.assertFalse(placeholderseq.equals(seq1.getSequenceAsString()),
-            "dummy replacement buggy for seq1");
-    Assert.assertNotEquals("dummy replacement buggy for seq2",
+    assertFalse("dummy replacement buggy for seq1",
+            placeholderseq.equals(seq1.getSequenceAsString()));
+    assertFalse("dummy replacement buggy for seq2",
             placeholderseq.equals(seq2.getSequenceAsString()));
-    Assert.assertNotNull(seq1.getSequenceFeatures(),
-            "No features added to seq1");
-    Assert.assertEquals(seq1.getSequenceFeatures().length, 3,
-            "Wrong number of features");
-    Assert.assertNull(seq2.getSequenceFeatures());
-    Assert.assertEquals(
-            seq2
-            .getSequenceFeatures() == null ? 0
- : seq2
-                    .getSequenceFeatures().length, 0,
-            "Wrong number of features");
-    Assert.assertTrue(
+    assertNotNull("No features added to seq1", seq1.getSequenceFeatures());
+    assertEquals("Wrong number of features", 3,
+            seq1.getSequenceFeatures().length);
+    assertNull(seq2.getSequenceFeatures());
+    assertEquals(
+            "Wrong number of features",
+            0,
+            seq2.getSequenceFeatures() == null ? 0 : seq2
+                    .getSequenceFeatures().length);
+    assertTrue(
+            "Expected at least one CDNA/Protein mapping for seq1",
             dataset.getCodonFrame(seq1) != null
             && dataset.getCodonFrame(seq1).size() > 0,
             "Expected at least one CDNA/Protein mapping for seq1");
 
   }
-  // @Test
+  // @Test(groups ={ "Functional" })
   // public final void testPrintGFFFormatSequenceIArrayMapOfStringObject()
   // {
   // fail("Not yet implemented");
   // }
   //
-  // @Test
+  // @Test(groups ={ "Functional" })
   // public final void testAlignFileBooleanStringString()
   // {
   // fail("Not yet implemented");