JAL-3438 spotless for 2.11.2.0
[jalview.git] / test / jalview / datamodel / HiddenColumnsCursorTest.java
index cc8e5e5..cfd2814 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.datamodel;
 
+import static org.testng.Assert.assertNull;
 import static org.testng.AssertJUnit.assertEquals;
 
 import java.util.ArrayList;
@@ -29,6 +30,31 @@ import org.testng.annotations.Test;
 
 public class HiddenColumnsCursorTest
 {
+
+  @Test(groups = { "Functional" })
+  public void testConstructor()
+  {
+    HiddenColumnsCursor cursor = new HiddenColumnsCursor();
+    assertNull(cursor.findRegionForColumn(0, false));
+
+    List<int[]> hlist = new ArrayList<>();
+    cursor = new HiddenColumnsCursor(hlist);
+    assertNull(cursor.findRegionForColumn(0, false));
+
+    cursor = new HiddenColumnsCursor(hlist, 3, 12);
+    assertNull(cursor.findRegionForColumn(0, false));
+
+    hlist.add(new int[] { 3, 7 });
+    hlist.add(new int[] { 15, 25 });
+    cursor = new HiddenColumnsCursor(hlist);
+    HiddenCursorPosition p = cursor.findRegionForColumn(8, false);
+    assertEquals(1, p.getRegionIndex());
+
+    cursor = new HiddenColumnsCursor(hlist, 1, 5);
+    p = cursor.findRegionForColumn(8, false);
+    assertEquals(1, p.getRegionIndex());
+  }
+
   /**
    * Test the method which finds the corresponding region given a column
    */
@@ -36,52 +62,55 @@ public class HiddenColumnsCursorTest
   public void testFindRegionForColumn()
   {
     HiddenColumnsCursor cursor = new HiddenColumnsCursor();
-    
-    int regionIndex = cursor.findRegionForColumn(20);
-    assertEquals(-1, regionIndex);
-    
+
+    HiddenCursorPosition pos = cursor.findRegionForColumn(20, false);
+    assertNull(pos);
+
     List<int[]> hidden = new ArrayList<>();
     hidden.add(new int[] { 53, 76 });
     hidden.add(new int[] { 104, 125 });
-    cursor.resetCursor(hidden);
 
-    regionIndex = cursor.findRegionForColumn(126);
+    cursor = new HiddenColumnsCursor(hidden);
+
+    int regionIndex = cursor.findRegionForColumn(126, false)
+            .getRegionIndex();
     assertEquals(2, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(125);
+    regionIndex = cursor.findRegionForColumn(125, false).getRegionIndex();
     assertEquals(1, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(108);
+    regionIndex = cursor.findRegionForColumn(108, false).getRegionIndex();
     assertEquals(1, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(104);
+    regionIndex = cursor.findRegionForColumn(104, false).getRegionIndex();
     assertEquals(1, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(103);
+    regionIndex = cursor.findRegionForColumn(103, false).getRegionIndex();
     assertEquals(1, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(77);
+    regionIndex = cursor.findRegionForColumn(77, false).getRegionIndex();
     assertEquals(1, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(76);
+    regionIndex = cursor.findRegionForColumn(76, false).getRegionIndex();
     assertEquals(0, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(53);
+    regionIndex = cursor.findRegionForColumn(53, false).getRegionIndex();
     assertEquals(0, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(52);
+    regionIndex = cursor.findRegionForColumn(52, false).getRegionIndex();
     assertEquals(0, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(0);
+    regionIndex = cursor.findRegionForColumn(0, false).getRegionIndex();
     assertEquals(0, regionIndex);
 
     hidden.add(new int[] { 138, 155 });
-    cursor.resetCursor(hidden);
 
-    regionIndex = cursor.findRegionForColumn(160);
+    cursor = new HiddenColumnsCursor(hidden);
+
+    regionIndex = cursor.findRegionForColumn(160, false).getRegionIndex();
     assertEquals(3, regionIndex);
 
-    regionIndex = cursor.findRegionForColumn(100);
+    regionIndex = cursor.findRegionForColumn(100, false).getRegionIndex();
     assertEquals(1, regionIndex);
   }
 
@@ -89,35 +118,41 @@ public class HiddenColumnsCursorTest
    * Test the method which counts the number of hidden columns before a column
    */
   @Test(groups = { "Functional" })
-  public void testGetHiddenOffset()
+  public void testFindRegionForColumn_Visible()
   {
     HiddenColumnsCursor cursor = new HiddenColumnsCursor();
 
-    int offset = cursor.getHiddenOffset(20);
-    assertEquals(-1, offset);
+    HiddenCursorPosition pos = cursor.findRegionForColumn(20, true);
+    assertNull(pos);
 
     List<int[]> hidden = new ArrayList<>();
     hidden.add(new int[] { 53, 76 });
     hidden.add(new int[] { 104, 125 });
-    cursor.resetCursor(hidden);
 
-    offset = cursor.getHiddenOffset(80);
+    cursor = new HiddenColumnsCursor(hidden);
+
+    int offset = cursor.findRegionForColumn(80, true).getHiddenSoFar();
     assertEquals(46, offset);
 
-    offset = cursor.getHiddenOffset(79);
+    offset = cursor.findRegionForColumn(79, true).getHiddenSoFar();
     assertEquals(24, offset);
 
-    offset = cursor.getHiddenOffset(53);
+    offset = cursor.findRegionForColumn(53, true).getHiddenSoFar();
     assertEquals(24, offset);
 
-    offset = cursor.getHiddenOffset(52);
+    offset = cursor.findRegionForColumn(52, true).getHiddenSoFar();
     assertEquals(0, offset);
 
-    offset = cursor.getHiddenOffset(10);
+    offset = cursor.findRegionForColumn(10, true).getHiddenSoFar();
     assertEquals(0, offset);
 
-    offset = cursor.getHiddenOffset(0);
+    offset = cursor.findRegionForColumn(0, true).getHiddenSoFar();
     assertEquals(0, offset);
-  }
 
+    offset = cursor.findRegionForColumn(79, true).getHiddenSoFar();
+    assertEquals(24, offset);
+
+    offset = cursor.findRegionForColumn(80, true).getHiddenSoFar();
+    assertEquals(46, offset);
+  }
 }