JAL-1925 update source version in license
[jalview.git] / test / jalview / analysis / DnaTest.java
index 01ed183..17617db 100644 (file)
@@ -1,8 +1,29 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
+ * Copyright (C) 2015 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.analysis;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
 import jalview.api.AlignViewportI;
 import jalview.datamodel.AlignedCodon;
 import jalview.datamodel.Alignment;
@@ -14,7 +35,7 @@ import jalview.io.FormatAdapter;
 
 import java.io.IOException;
 
-import org.junit.Test;
+import org.testng.annotations.Test;
 
 public class DnaTest
 {
@@ -93,7 +114,7 @@ public class DnaTest
    * 
    * @throws IOException
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testTranslateCdna_withUntranslatableCodons()
           throws IOException
   {
@@ -102,8 +123,7 @@ public class DnaTest
             "FASTA");
     ColumnSelection cs = new ColumnSelection();
     AlignViewportI av = new AlignViewport(alf, cs);
-    Dna dna = new Dna(av, new int[]
-    { 0, alf.getWidth() - 1 });
+    Dna dna = new Dna(av, new int[] { 0, alf.getWidth() - 1 });
     AlignmentI translated = dna.translateCdna();
     assertNotNull("Couldn't do a full width translation of test data.",
             translated);
@@ -115,7 +135,7 @@ public class DnaTest
    * 
    * @throws IOException
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testTranslateCdna_withUntranslatableCodonsAndHiddenColumns()
           throws IOException
   {
@@ -147,23 +167,22 @@ public class DnaTest
   }
 
   /**
-   * Test simple translation to Amino Acids (with STOP codons translated to X).
+   * Test simple translation to Amino Acids (with STOP codons translated to *).
    * 
    * @throws IOException
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testTranslateCdna_simple() throws IOException
   {
     AlignmentI alf = new FormatAdapter().readFile(fasta,
             FormatAdapter.PASTE, "FASTA");
     ColumnSelection cs = new ColumnSelection();
     AlignViewportI av = new AlignViewport(alf, cs);
-    Dna dna = new Dna(av, new int[]
-    { 0, alf.getWidth() - 1 });
+    Dna dna = new Dna(av, new int[] { 0, alf.getWidth() - 1 });
     AlignmentI translated = dna.translateCdna();
     String aa = translated.getSequenceAt(0).getSequenceAsString();
     assertEquals(
-            "AAAACCDDEEFFGGGGHHIIIKKLLLLLLMNNPPPPQQRRRRRRSSSSSSTTTTVVVVWYYXXX",
+            "AAAACCDDEEFFGGGGHHIIIKKLLLLLLMNNPPPPQQRRRRRRSSSSSSTTTTVVVVWYY***",
             aa);
   }
 
@@ -172,7 +191,7 @@ public class DnaTest
    * 
    * @throws IOException
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testTranslateCdna_hiddenColumns() throws IOException
   {
     AlignmentI alf = new FormatAdapter().readFile(fasta,
@@ -182,8 +201,7 @@ public class DnaTest
     cs.hideColumns(24, 35); // hide codons 9-12
     cs.hideColumns(177, 191); // hide codons 60-64
     AlignViewportI av = new AlignViewport(alf, cs);
-    Dna dna = new Dna(av, new int[]
-    { 0, alf.getWidth() - 1 });
+    Dna dna = new Dna(av, new int[] { 0, alf.getWidth() - 1 });
     AlignmentI translated = dna.translateCdna();
     String aa = translated.getSequenceAt(0).getSequenceAsString();
     assertEquals("AACDDGGGGHHIIIKKLLLLLLMNNPPPPQQRRRRRRSSSSSSTTTTVVVVW", aa);
@@ -192,7 +210,7 @@ public class DnaTest
   /**
    * Use this test to help debug into any cases of interest.
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testCompareCodonPos_oneOnly()
   {
     assertFollows("-AA--A", "G--GG"); // 2 shifted seq2, 3 shifted seq1
@@ -201,7 +219,7 @@ public class DnaTest
   /**
    * Tests for method that compares 'alignment' of two codon position triplets.
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testCompareCodonPos()
   {
     /*
@@ -258,7 +276,7 @@ public class DnaTest
    * reorders the cDNA and retranslates, and verifies that the translations are
    * the same (apart from ordering).
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testTranslateCdna_sequenceOrderIndependent()
   {
     /*
@@ -267,16 +285,14 @@ public class DnaTest
     AlignmentI cdna = new DnaAlignmentGenerator().generate(12, 8, 97, 5, 5);
     ColumnSelection cs = new ColumnSelection();
     AlignViewportI av = new AlignViewport(cdna, cs);
-    Dna dna = new Dna(av, new int[]
-    { 0, cdna.getWidth() - 1 });
+    Dna dna = new Dna(av, new int[] { 0, cdna.getWidth() - 1 });
     AlignmentI translated = dna.translateCdna();
 
     /*
      * Jumble the cDNA sequences and translate.
      */
     SequenceI[] sorted = new SequenceI[cdna.getHeight()];
-    final int[] jumbler = new int[]
-    { 6, 7, 3, 4, 2, 0, 1, 5 };
+    final int[] jumbler = new int[] { 6, 7, 3, 4, 2, 0, 1, 5 };
     int seqNo = 0;
     for (int i : jumbler)
     {
@@ -284,8 +300,7 @@ public class DnaTest
     }
     AlignmentI cdnaReordered = new Alignment(sorted);
     av = new AlignViewport(cdnaReordered, cs);
-    dna = new Dna(av, new int[]
-    { 0, cdna.getWidth() - 1 });
+    dna = new Dna(av, new int[] { 0, cdna.getWidth() - 1 });
     AlignmentI translated2 = dna.translateCdna();
 
     /*
@@ -301,8 +316,8 @@ public class DnaTest
     {
       final String translation1 = translated.getSequenceAt(
               originalSequenceIndex).getSequenceAsString();
-      final String translation2 = translated2.getSequenceAt(sortedSequenceIndex)
-              .getSequenceAsString();
+      final String translation2 = translated2.getSequenceAt(
+              sortedSequenceIndex).getSequenceAsString();
       assertEquals(translation2, translation1);
       sortedSequenceIndex++;
     }
@@ -312,7 +327,7 @@ public class DnaTest
    * Test that all the cases in testCompareCodonPos have a 'symmetric'
    * comparison (without checking the actual comparison result).
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testCompareCodonPos_isSymmetric()
   {
     assertSymmetric("AAA", "GGG");
@@ -435,7 +450,7 @@ public class DnaTest
   /**
    * Weirdly, maybe worth a test to prove the helper method of this test class.
    */
-  @Test
+  @Test(groups = { "Functional" })
   public void testConvertCodon()
   {
     assertEquals("[0, 1, 2]", convertCodon("AAA").toString());