JAL-2526 Sequence.findPositions to get residue positions for column
[jalview.git] / test / jalview / datamodel / SequenceTest.java
index 7eeac12..4da11eb 100644 (file)
@@ -231,10 +231,10 @@ public class SequenceTest
     assertEquals(6, sq.findIndex(6));
     assertEquals(6, sq.findIndex(9));
 
-    sq = new Sequence("test", "-A--B-C-D-E-F--");
-    assertEquals(2, sq.findIndex(1));
-    assertEquals(5, sq.findIndex(2));
-    assertEquals(7, sq.findIndex(3));
+    sq = new Sequence("test/8-13", "-A--B-C-D-E-F--");
+    assertEquals(2, sq.findIndex(8));
+    assertEquals(5, sq.findIndex(9));
+    assertEquals(7, sq.findIndex(10));
 
     // before start returns 0
     assertEquals(0, sq.findIndex(0));
@@ -1161,4 +1161,24 @@ public class SequenceTest
     seq2.createDatasetSequence();
     seq.setDatasetSequence(seq2);
   }
+
+  @Test
+  public void testFindPositions()
+  {
+    SequenceI sq = new Sequence("Seq", "ABC--DE-F", 8, 13);
+
+    Range range = sq.findPositions(1, 4); // BC
+    assertEquals(new Range(9, 10), range);
+
+    range = sq.findPositions(2, 4); // C
+    assertEquals(new Range(10, 10), range);
+
+    assertNull(sq.findPositions(3, 4)); // all gaps
+
+    range = sq.findPositions(2, 6); // CDE
+    assertEquals(new Range(10, 12), range);
+
+    range = sq.findPositions(3, 7); // DE
+    assertEquals(new Range(11, 12), range);
+  }
 }