JAL-2577 Don't allow viewport ranges below 0. Unit tests updated.
[jalview.git] / test / jalview / viewmodel / ViewportRangesTest.java
index 80bd4db..3ed02d7 100644 (file)
@@ -31,6 +31,8 @@ public class ViewportRangesTest {
     ColumnSelection sel = new ColumnSelection();
     al.getHiddenColumns().revealAllHiddenColumns(sel);
     al.getHiddenSequences().showAll(null);
+    smallAl.getHiddenColumns().revealAllHiddenColumns(sel);
+    smallAl.getHiddenSequences().showAll(null);
   }
 
   @Test(groups = { "Functional" })
@@ -133,6 +135,12 @@ public class ViewportRangesTest {
     ViewportRanges vrsmall = new ViewportRanges(smallAl);
     vrsmall.setStartEndRes(al.getWidth(), al.getWidth());
     assertEquals(vrsmall.getEndRes(), 6);
+
+    // make visible alignment width = 0
+    smallAl.getHiddenColumns().hideColumns(0, 6);
+    vrsmall.setStartEndRes(0, 4);
+    assertEquals(vrsmall.getStartRes(), 0);
+    assertEquals(vrsmall.getEndRes(), 0);
   }
 
   @Test(groups = { "Functional" })
@@ -149,6 +157,14 @@ public class ViewportRangesTest {
 
     vr.setStartEndSeq(al.getHeight(), al.getHeight());
     assertEquals(vr.getEndSeq(), al.getHeight() - 1);
+
+    // make visible alignment height = 0
+    smallAl.getHiddenSequences().hideSequence(smallAl.getSequenceAt(0));
+    smallAl.getHiddenSequences().hideSequence(smallAl.getSequenceAt(0));
+    ViewportRanges vrsmall = new ViewportRanges(smallAl);
+    vrsmall.setStartEndSeq(0, 3);
+    assertEquals(vrsmall.getStartSeq(), 0);
+    assertEquals(vrsmall.getEndSeq(), 0);
   }
 
   @Test(groups = { "Functional" })