JAL-2291 method taking a BitSet for hiding columns
[jalview.git] / test / jalview / datamodel / HiddenColumnsTest.java
index b767cf7..a671263 100644 (file)
@@ -29,6 +29,7 @@ import jalview.analysis.AlignmentGenerator;
 import jalview.gui.JvOptionPane;
 
 import java.util.Arrays;
+import java.util.BitSet;
 import java.util.List;
 
 import org.testng.annotations.BeforeClass;
@@ -517,4 +518,49 @@ public class HiddenColumnsTest
     assertEquals("[60, 70]", Arrays.toString(hidden.get(1)));
   }
 
+  @Test(groups = { "Functional" })
+  public void testHideBitset()
+  {
+    HiddenColumns cs;
+
+    BitSet one = new BitSet();
+
+    // one hidden range
+    one.set(1);
+    cs = new HiddenColumns();
+    cs.hideMarkedBits(one);
+    assertEquals(1, cs.getHiddenRegions().size());
+
+    one.set(2);
+    cs = new HiddenColumns();
+    cs.hideMarkedBits(one);
+    assertEquals(1, cs.getHiddenRegions().size());
+
+    one.set(3);
+    cs = new HiddenColumns();
+    cs.hideMarkedBits(one);
+    assertEquals(1, cs.getHiddenRegions().size());
+
+    // split
+    one.clear(2);
+    cs = new HiddenColumns();
+    cs.hideMarkedBits(one);
+    assertEquals(2, cs.getHiddenRegions().size());
+
+    assertEquals(0, cs.adjustForHiddenColumns(0));
+    assertEquals(2, cs.adjustForHiddenColumns(1));
+    assertEquals(4, cs.adjustForHiddenColumns(2));
+
+    // one again
+    one.clear(1);
+    cs = new HiddenColumns();
+    cs.hideMarkedBits(one);
+
+    assertEquals(1, cs.getHiddenRegions().size());
+
+    assertEquals(0, cs.adjustForHiddenColumns(0));
+    assertEquals(1, cs.adjustForHiddenColumns(1));
+    assertEquals(2, cs.adjustForHiddenColumns(2));
+    assertEquals(4, cs.adjustForHiddenColumns(3));
+  }
 }