- public void hideColumns_BitSetAndRange()
- {
- HiddenColumns hc = new HiddenColumns();
- hc.hideColumns(3, 5);
- hc.hideColumns(15, 20);
- hc.hideColumns(45, 60);
-
- BitSet tohide = new BitSet();
-
- // all unhidden if tohide is empty and range covers hidden
- hc.hideColumns(tohide, 1, 70);
- assertTrue(!hc.hasHiddenColumns());
- assertEquals(0, hc.getSize());
-
- hc.hideColumns(3, 5);
- hc.hideColumns(15, 20);
- hc.hideColumns(45, 60);
- assertEquals(25, hc.getSize());
-
- // but not if range does not cover hidden
- hc.hideColumns(tohide, 23, 40);
- assertTrue(hc.hasHiddenColumns());
- assertEquals(25, hc.getSize());
-
- // and partial unhide if range partially covers
- hc.hideColumns(tohide, 1, 17);
- Iterator<int[]> it = hc.iterator();
- assertTrue(it.hasNext());
- int[] region = it.next();
-
- assertEquals(18, region[0]);
- assertEquals(20, region[1]);
-
- assertTrue(it.hasNext());
- region = it.next();
-
- assertEquals(45, region[0]);
- assertEquals(60, region[1]);
-
- assertFalse(it.hasNext());
- assertEquals(19, hc.getSize());
- }
-
- @Test(groups = { "Functional" })