JAL-653 MapList constructor merges any contiguous ranges
[jalview.git] / test / jalview / util / MapListTest.java
index de3994e..e0a2d30 100644 (file)
@@ -453,6 +453,25 @@ public class MapListTest
   }
 
   /**
+   * Test constructor can merge consecutive ranges
+   */
+  @Test(groups = { "Functional" })
+  public void testConstructor_mergeRanges()
+  {
+    int[] codons = { 2, 3, 3, 7, 9, 10, 12, 12, 14, 14, 16, 17 };
+    int[] protein = { 1, 1, 1, 3, 6, 6 };
+    MapList ml = new MapList(codons, protein, 3, 1);
+    assertEquals(3, ml.getFromRatio());
+    assertEquals(2, ml.getFromLowest());
+    assertEquals(17, ml.getFromHighest());
+    assertEquals(1, ml.getToLowest());
+    assertEquals(6, ml.getToHighest());
+    assertEquals("{[2, 7], [9, 10], [12, 12], [14, 14], [16, 17]}",
+            prettyPrint(ml.getFromRanges()));
+    assertEquals("{[1, 3], [6, 6]}", prettyPrint(ml.getToRanges()));
+  }
+
+  /**
    * Convert a List of {[i, j], [k, l], ...} to "[[i, j], [k, l], ...]"
    * 
    * @param ranges