Merge branch 'develop' into features/JAL-2393customMatrices
[jalview.git] / test / jalview / util / MappingUtilsTest.java
index d131ed2..b84e770 100644 (file)
@@ -33,13 +33,16 @@ import jalview.datamodel.AlignedCodonFrame;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.ColumnSelection;
-import jalview.datamodel.SearchResults;
-import jalview.datamodel.SearchResults.Match;
+import jalview.datamodel.SearchResultMatchI;
+import jalview.datamodel.SearchResultsI;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignViewport;
-import jalview.io.AppletFormatAdapter;
+import jalview.gui.JvOptionPane;
+import jalview.io.DataSourceType;
+import jalview.io.FileFormat;
+import jalview.io.FileFormatI;
 import jalview.io.FormatAdapter;
 
 import java.awt.Color;
@@ -48,10 +51,19 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class MappingUtilsTest
 {
+
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   private AlignViewportI dnaView;
 
   private AlignViewportI proteinView;
@@ -81,9 +93,9 @@ public class MappingUtilsTest
     /*
      * Check protein residue 12 maps to codon 5-7, 13 to codon 8-10
      */
-    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 12, acfList);
+    SearchResultsI sr = MappingUtils.buildSearchResults(aseq1, 12, acfList);
     assertEquals(1, sr.getResults().size());
-    Match m = sr.getResults().get(0);
+    SearchResultMatchI m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
     assertEquals(5, m.getStart());
     assertEquals(7, m.getEnd());
@@ -134,9 +146,9 @@ public class MappingUtilsTest
     /*
      * Check protein residue 8 maps to [6, 8, 9]
      */
-    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 8, acfList);
+    SearchResultsI sr = MappingUtils.buildSearchResults(aseq1, 8, acfList);
     assertEquals(2, sr.getResults().size());
-    Match m = sr.getResults().get(0);
+    SearchResultMatchI m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
     assertEquals(6, m.getStart());
     assertEquals(6, m.getEnd());
@@ -197,10 +209,10 @@ public class MappingUtilsTest
      * viewport).
      */
     AlignmentI cdna = loadAlignment(">Seq1\nACG\n>Seq2\nTGA\n>Seq3\nTAC\n",
-            "FASTA");
+            FileFormat.Fasta);
     cdna.setDataset(null);
     AlignmentI protein = loadAlignment(">Seq1\nK\n>Seq2\nL\n>Seq3\nQ\n",
-            "FASTA");
+            FileFormat.Fasta);
     protein.setDataset(null);
     AlignedCodonFrame acf = new AlignedCodonFrame();
     MapList map = new MapList(new int[] { 1, 3 }, new int[] { 1, 1 }, 3, 1);
@@ -268,11 +280,11 @@ public class MappingUtilsTest
    * @return
    * @throws IOException
    */
-  protected AlignmentI loadAlignment(final String data, String format)
+  protected AlignmentI loadAlignment(final String data, FileFormatI format)
           throws IOException
   {
     AlignmentI a = new FormatAdapter().readFile(data,
-            AppletFormatAdapter.PASTE, format);
+            DataSourceType.PASTE, format);
     a.setDataset(null);
     return a;
   }
@@ -351,11 +363,11 @@ public class MappingUtilsTest
      */
     AlignmentI cdna = loadAlignment(">Seq1/10-18\nAC-GctGtC-T\n"
             + ">Seq2/20-27\nTc-GA-G-T-Tc\n" + ">Seq3/30-38\nTtTT-AaCGg-\n",
-            "FASTA");
+            FileFormat.Fasta);
     cdna.setDataset(null);
     AlignmentI protein = loadAlignment(
             ">Seq1/40-41\n-K-P\n>Seq2/50-51\nL--Q\n>Seq3/60-61\nG--S\n",
-            "FASTA");
+            FileFormat.Fasta);
     protein.setDataset(null);
 
     // map first dna to first protein seq
@@ -466,10 +478,11 @@ public class MappingUtilsTest
      * viewport).
      */
     AlignmentI cdna = loadAlignment(
-            ">Seq1\nACGGCA\n>Seq2\nTGACAG\n>Seq3\nTACGTA\n", "FASTA");
+            ">Seq1\nACGGCA\n>Seq2\nTGACAG\n>Seq3\nTACGTA\n",
+            FileFormat.Fasta);
     cdna.setDataset(null);
     AlignmentI protein = loadAlignment(">Seq1\nKA\n>Seq2\nLQ\n>Seq3\nQV\n",
-            "FASTA");
+            FileFormat.Fasta);
     protein.setDataset(null);
     AlignedCodonFrame acf = new AlignedCodonFrame();
     MapList map = new MapList(new int[] { 1, 6 }, new int[] { 1, 2 }, 3, 1);
@@ -549,10 +562,10 @@ public class MappingUtilsTest
      */
     AlignmentI cdna = loadAlignment(
             ">Seq1\nA-CG-GC--AT-CA\n>Seq2\n-TG-AC-AG-T-AT\n>Seq3\n-T--ACG-TAAT-G\n",
-            "FASTA");
+            FileFormat.Fasta);
     cdna.setDataset(null);
     AlignmentI protein = loadAlignment(
-            ">Seq1\n-KA-S\n>Seq2\n--L-QY\n>Seq3\nQ-V-M\n", "FASTA");
+            ">Seq1\n-KA-S\n>Seq2\n--L-QY\n>Seq3\nQ-V-M\n", FileFormat.Fasta);
     protein.setDataset(null);
     AlignedCodonFrame acf = new AlignedCodonFrame();
     MapList map = new MapList(new int[] { 1, 9 }, new int[] { 1, 3 }, 3, 1);
@@ -867,7 +880,7 @@ public class MappingUtilsTest
   public void testMapColumnSelection_hiddenColumns() throws IOException
   {
     setupMappedAlignments();
-  
+
     ColumnSelection proteinSelection = new ColumnSelection();
 
     /*
@@ -875,8 +888,8 @@ public class MappingUtilsTest
      * in dna respectively, overall 0-4
      */
     proteinSelection.hideColumns(0);
-    ColumnSelection dnaSelection = MappingUtils.mapColumnSelection(proteinSelection,
-            proteinView, dnaView);
+    ColumnSelection dnaSelection = MappingUtils.mapColumnSelection(
+            proteinSelection, proteinView, dnaView);
     assertEquals("[]", dnaSelection.getSelected().toString());
     List<int[]> hidden = dnaSelection.getHiddenColumns();
     assertEquals(1, hidden.size());
@@ -891,7 +904,8 @@ public class MappingUtilsTest
     // deselect these or hideColumns will be expanded to include 0
     proteinSelection.clear();
     proteinSelection.hideColumns(1);
-    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection, proteinView, dnaView);
+    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection,
+            proteinView, dnaView);
     hidden = dnaSelection.getHiddenColumns();
     assertEquals(1, hidden.size());
     assertEquals("[0, 3]", Arrays.toString(hidden.get(0)));
@@ -902,7 +916,8 @@ public class MappingUtilsTest
     proteinSelection.revealAllHiddenColumns();
     proteinSelection.clear();
     proteinSelection.hideColumns(2);
-    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection, proteinView, dnaView);
+    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection,
+            proteinView, dnaView);
     assertTrue(dnaSelection.getHiddenColumns().isEmpty());
 
     /*
@@ -913,7 +928,8 @@ public class MappingUtilsTest
     proteinSelection.clear();
     proteinSelection.hideColumns(3); // 5-10 hidden in dna
     proteinSelection.addElement(1); // 0-3 selected in dna
-    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection, proteinView, dnaView);
+    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection,
+            proteinView, dnaView);
     assertEquals("[0, 1, 2, 3]", dnaSelection.getSelected().toString());
     hidden = dnaSelection.getHiddenColumns();
     assertEquals(1, hidden.size());
@@ -926,7 +942,8 @@ public class MappingUtilsTest
     proteinSelection.clear();
     proteinSelection.hideColumns(1);
     proteinSelection.hideColumns(3);
-    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection, proteinView, dnaView);
+    dnaSelection = MappingUtils.mapColumnSelection(proteinSelection,
+            proteinView, dnaView);
     hidden = dnaSelection.getHiddenColumns();
     assertEquals(2, hidden.size());
     assertEquals("[0, 3]", Arrays.toString(hidden.get(0)));
@@ -1060,42 +1077,42 @@ public class MappingUtilsTest
     int[] adjusted = MappingUtils.removeStartPositions(0, ranges);
     assertEquals("[10, 1]", Arrays.toString(adjusted));
     assertEquals("[10, 1]", Arrays.toString(ranges));
-  
+
     ranges = adjusted;
     adjusted = MappingUtils.removeStartPositions(1, ranges);
     assertEquals("[9, 1]", Arrays.toString(adjusted));
     assertEquals("[10, 1]", Arrays.toString(ranges));
-  
+
     ranges = adjusted;
     adjusted = MappingUtils.removeStartPositions(1, ranges);
     assertEquals("[8, 1]", Arrays.toString(adjusted));
     assertEquals("[9, 1]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 11, 9, 6 };
     adjusted = MappingUtils.removeStartPositions(1, ranges);
     assertEquals("[11, 11, 9, 6]", Arrays.toString(adjusted));
     assertEquals("[12, 11, 9, 6]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 12, 8, 4 };
     adjusted = MappingUtils.removeStartPositions(1, ranges);
     assertEquals("[8, 4]", Arrays.toString(adjusted));
     assertEquals("[12, 12, 8, 4]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 12, 8, 4 };
     adjusted = MappingUtils.removeStartPositions(2, ranges);
     assertEquals("[7, 4]", Arrays.toString(adjusted));
     assertEquals("[12, 12, 8, 4]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 12, 10, 10, 8, 4 };
     adjusted = MappingUtils.removeStartPositions(1, ranges);
     assertEquals("[10, 10, 8, 4]", Arrays.toString(adjusted));
     assertEquals("[12, 12, 10, 10, 8, 4]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 12, 10, 10, 8, 4 };
     adjusted = MappingUtils.removeStartPositions(2, ranges);
     assertEquals("[8, 4]", Arrays.toString(adjusted));
     assertEquals("[12, 12, 10, 10, 8, 4]", Arrays.toString(ranges));
-  
+
     ranges = new int[] { 12, 11, 8, 4 };
     adjusted = MappingUtils.removeStartPositions(3, ranges);
     assertEquals("[7, 4]", Arrays.toString(adjusted));