Merge branch 'features/JAL-2388OverviewWindow' into develop
[jalview.git] / test / jalview / viewmodel / OverviewDimensionsShowHiddenTest.java
@@ -26,6 +26,7 @@ import jalview.analysis.AlignmentGenerator;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceCollectionI;
 import jalview.datamodel.SequenceGroup;
@@ -39,10 +40,10 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 @Test(singleThreaded = true)
-public class OverviewDimensionsTest
+public class OverviewDimensionsShowHiddenTest
 {
   AlignmentI al;
-  OverviewDimensions od;
+  OverviewDimensionsShowHidden od;
 
   // cached widths and heights
   int boxWidth;
@@ -56,10 +57,10 @@ public class OverviewDimensionsTest
 
   Hashtable<SequenceI, SequenceCollectionI> hiddenRepSequences = new Hashtable<SequenceI, SequenceCollectionI>();
 
-  ColumnSelection hiddenCols = new ColumnSelection();
+  HiddenColumns hiddenCols = new HiddenColumns();
 
   @BeforeClass(alwaysRun = true)
-  public void setUpJvOptionPane()
+  public void setUpAlignment()
   {
     // create random alignment
     AlignmentGenerator gen = new AlignmentGenerator(false);
@@ -73,7 +74,8 @@ public class OverviewDimensionsTest
     {
       al.getHiddenSequences().showAll(hiddenRepSequences);
     }
-    hiddenCols.revealAllHiddenColumns();
+    ColumnSelection colsel = new ColumnSelection();
+    hiddenCols.revealAllHiddenColumns(colsel);
     
     vpranges = new ViewportRanges(al);
     vpranges.setStartRes(0);
@@ -84,11 +86,11 @@ public class OverviewDimensionsTest
     viewHeight = vpranges.getEndSeq() - vpranges.getStartSeq() + 1;
     viewWidth = vpranges.getEndRes() - vpranges.getStartRes() + 1;
 
-    ColumnSelection hiddenCols = new ColumnSelection();
+    HiddenColumns hiddenCols = new HiddenColumns();
 
-    od = new OverviewDimensions(vpranges, true);
+    od = new OverviewDimensionsShowHidden(vpranges, true);
     // Initial box sizing - default path through code
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
 
     mouseClick(od, 0, 0);
     moveViewport(0, 0);
@@ -136,7 +138,7 @@ public class OverviewDimensionsTest
     Alignment al1 = new Alignment(seqs1);
     ViewportRanges props = new ViewportRanges(al1);
 
-    OverviewDimensions od = new OverviewDimensions(props, true);
+    OverviewDimensions od = new OverviewDimensionsShowHidden(props, true);
     int scaledHeight = 267;
     assertEquals(od.getGraphHeight(), defaultGraphHeight);
     assertEquals(od.getSequencesHeight(), scaledHeight);
@@ -148,7 +150,7 @@ public class OverviewDimensionsTest
     Alignment al2 = new Alignment(seqs2);
     props = new ViewportRanges(al2);
 
-    od = new OverviewDimensions(props, true);
+    od = new OverviewDimensionsShowHidden(props, true);
     int scaledWidth = 300;
     assertEquals(od.getGraphHeight(), defaultGraphHeight);
     assertEquals(od.getSequencesHeight(), maxSeqHeight);
@@ -161,7 +163,7 @@ public class OverviewDimensionsTest
     Alignment al3 = new Alignment(seqs3);
     props = new ViewportRanges(al3);
 
-    od = new OverviewDimensions(props, true);
+    od = new OverviewDimensionsShowHidden(props, true);
     assertEquals(od.getGraphHeight(), defaultGraphHeight);
     assertEquals(od.getSequencesHeight(), minSeqHeight);
     assertEquals(od.getWidth(), maxWidth);
@@ -173,7 +175,7 @@ public class OverviewDimensionsTest
     Alignment al4 = new Alignment(seqs4);
     props = new ViewportRanges(al4);
 
-    od = new OverviewDimensions(props, true);
+    od = new OverviewDimensionsShowHidden(props, true);
     assertEquals(od.getGraphHeight(), defaultGraphHeight);
     assertEquals(od.getSequencesHeight(), maxSeqHeight);
     assertEquals(od.getWidth(), minWidth);
@@ -182,7 +184,7 @@ public class OverviewDimensionsTest
     Alignment al5 = new Alignment(seqs4);
     props = new ViewportRanges(al5);
 
-    od = new OverviewDimensions(props, false);
+    od = new OverviewDimensionsShowHidden(props, false);
     assertEquals(od.getGraphHeight(), 0);
     assertEquals(od.getSequencesHeight(), maxSeqHeight);
     assertEquals(od.getWidth(), minWidth);
@@ -197,8 +199,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testSetBoxFromMouseClick()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -296,8 +297,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenColsAtStart()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -309,7 +309,7 @@ public class OverviewDimensionsTest
     int lastHiddenCol = 30;
     hiddenCols.hideColumns(0, lastHiddenCol);
 
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(),
             Math.round((float) (lastHiddenCol + 1) * od.getWidth()
                     / alwidth));
@@ -361,8 +361,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenColsInMiddle()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -374,7 +373,7 @@ public class OverviewDimensionsTest
     int lastHidden = 73;
     hiddenCols.hideColumns(firstHidden, lastHidden);
 
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -463,8 +462,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenColsAtEnd()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -475,7 +473,7 @@ public class OverviewDimensionsTest
     int firstHidden = 140;
     int lastHidden = 164;
     hiddenCols.hideColumns(firstHidden, lastHidden);
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -618,9 +616,7 @@ public class OverviewDimensionsTest
     assertEquals(od.getBoxX(),
             Math.round((float) 3 * od.getWidth() / alwidth));
     assertEquals(od.getBoxY(), 0);
-    System.out.println(od.getBoxWidth());
     assertEquals(od.getBoxWidth(), boxWidth);
-    System.out.println(od.getBoxWidth());
     assertEquals(od.getBoxHeight(), boxHeight);
 
     // move viewport to left of hidden columns with overlap
@@ -790,8 +786,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenRowsAtStart()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxHeight(), boxHeight);
@@ -804,7 +799,7 @@ public class OverviewDimensionsTest
     int lastHiddenRow = 30;
     hideSequences(0, lastHiddenRow);
 
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(),
             Math.round((float) (lastHiddenRow + 1)
@@ -837,8 +832,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenRowsInMiddle()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
 
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
@@ -853,7 +847,7 @@ public class OverviewDimensionsTest
     int lastHiddenRow = 54;
     hideSequences(firstHiddenRow, lastHiddenRow);
 
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
 
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
@@ -896,8 +890,7 @@ public class OverviewDimensionsTest
   @Test(groups = { "Functional" })
   public void testFromMouseWithHiddenRowsAtEnd()
   {
-    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(0, 0, al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -911,7 +904,7 @@ public class OverviewDimensionsTest
     int lastHidden = 524;
     hideSequences(firstHidden, lastHidden);
 
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
     assertEquals(od.getBoxX(), 0);
     assertEquals(od.getBoxY(), 0);
     assertEquals(od.getBoxWidth(), boxWidth);
@@ -960,7 +953,7 @@ public class OverviewDimensionsTest
   {
     vpranges.setStartRes(startRes);
     vpranges.setEndRes(startRes + viewWidth - 1);
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
   }
 
   /*
@@ -970,7 +963,7 @@ public class OverviewDimensionsTest
   {
     vpranges.setStartSeq(startSeq);
     vpranges.setEndSeq(startSeq + viewHeight - 1);
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
   }
 
   /*
@@ -982,16 +975,15 @@ public class OverviewDimensionsTest
     vpranges.setEndRes(startRes + viewWidth - 1);
     vpranges.setStartSeq(startSeq);
     vpranges.setEndSeq(startSeq + viewHeight - 1);
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
   }
 
   /*
    * Mouse click as position x,y in overview window
    */
-  private void mouseClick(OverviewDimensions od, int x, int y)
+  private void mouseClick(OverviewDimensionsShowHidden od, int x, int y)
   {
-    od.updateViewportFromMouse(x, y, al.getHiddenSequences(), hiddenCols,
-            vpranges);
+    od.updateViewportFromMouse(x, y, al.getHiddenSequences(), hiddenCols);
 
     // updates require an OverviewPanel to exist which it doesn't here
     // so call setBoxPosition() as it would be called by the AlignmentPanel
@@ -1001,7 +993,7 @@ public class OverviewDimensionsTest
     vpranges.setEndRes(od.getScrollCol() + viewWidth - 1);
     vpranges.setStartSeq(od.getScrollRow());
     vpranges.setEndSeq(od.getScrollRow() + viewHeight - 1);
-    od.setBoxPosition(al.getHiddenSequences(), hiddenCols, vpranges);
+    od.setBoxPosition(al.getHiddenSequences(), hiddenCols);
   }
   
   /*