JAL-2591 Further refactoring (still incomplete)
[jalview.git] / test / jalview / datamodel / HiddenColumnsTest.java
index 10808d6..62c2d22 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.datamodel;
 
+import static org.testng.Assert.assertNull;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertSame;
@@ -585,4 +586,93 @@ public class HiddenColumnsTest
       assertEquals(toMark, fromMark);
     }
   }
+
+  @Test(groups = { "Functional" })
+  public void testFindHiddenRegionPositions()
+  {
+    HiddenColumns hc = new HiddenColumns();
+
+    List<Integer> positions = hc.findHiddenRegionPositions();
+    assertTrue(positions.isEmpty());
+
+    hc.hideColumns(3, 7);
+    hc.hideColumns(10, 10);
+    hc.hideColumns(14, 15);
+
+    positions = hc.findHiddenRegionPositions();
+    assertEquals(3, positions.size());
+    assertEquals(3, positions.get(0).intValue());
+    assertEquals(5, positions.get(1).intValue());
+    assertEquals(8, positions.get(2).intValue());
+  }
+
+  @Test(groups = { "Functional" })
+  public void testRegionsToString()
+  {
+    HiddenColumns hc = new HiddenColumns();
+
+    String result = hc.regionsToString(",", "--");
+    assertEquals("", result);
+
+    hc.hideColumns(3, 7);
+    hc.hideColumns(10, 10);
+    hc.hideColumns(14, 15);
+
+    result = hc.regionsToString(",", "--");
+    assertEquals("3--7,10--10,14--15", result);
+  }
+
+  @Test(groups = "Functional")
+  public void getVisibleStartAndEndIndexTest()
+  {
+    Sequence seq = new Sequence("testSeq", "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+    AlignmentI align = new Alignment(new SequenceI[] { seq });
+    HiddenColumns hc = new HiddenColumns();
+
+    int[] startEnd = hc.getVisibleStartAndEndIndex(align.getWidth());
+    assertEquals(0, startEnd[0]);
+    assertEquals(25, startEnd[1]);
+
+    hc.hideColumns(0, 0);
+    startEnd = hc.getVisibleStartAndEndIndex(align.getWidth());
+    assertEquals(1, startEnd[0]);
+    assertEquals(25, startEnd[1]);
+
+    hc.hideColumns(6, 9);
+    hc.hideColumns(11, 12);
+    startEnd = hc.getVisibleStartAndEndIndex(align.getWidth());
+    assertEquals(1, startEnd[0]);
+    assertEquals(25, startEnd[1]);
+
+    hc.hideColumns(24, 25);
+    startEnd = hc.getVisibleStartAndEndIndex(align.getWidth());
+    System.out.println(startEnd[0] + " : " + startEnd[1]);
+    assertEquals(1, startEnd[0]);
+    assertEquals(23, startEnd[1]);
+  }
+
+  @Test(groups = "Functional")
+  public void testGetRegionWithEdgeAtRes()
+  {
+    HiddenColumns hc = new HiddenColumns();
+
+    int[] result = hc.getRegionWithEdgeAtRes(5);
+    assertNull(result);
+
+    hc.hideColumns(3, 7);
+    hc.hideColumns(10, 10);
+    hc.hideColumns(14, 15);
+
+    result = hc.getRegionWithEdgeAtRes(3);
+    assertEquals(3, result[0]);
+    assertEquals(7, result[1]);
+
+    result = hc.getRegionWithEdgeAtRes(5);
+    assertEquals(10, result[0]);
+    assertEquals(10, result[1]);
+
+    result = hc.getRegionWithEdgeAtRes(6);
+    assertNull(result);
+  }
+
 }