public void testSubtractVisibleColumns()
{
HiddenColumns h = new HiddenColumns();
- int result = h.subtractVisibleColumns(1, 10);
+ int result = h.offsetByVisibleColumns(-1, 10);
assertEquals(9, result);
h.hideColumns(7, 9);
- result = h.subtractVisibleColumns(4, 10);
+ result = h.offsetByVisibleColumns(-4, 10);
assertEquals(3, result);
h.hideColumns(14, 15);
- result = h.subtractVisibleColumns(4, 10);
+ result = h.offsetByVisibleColumns(-4, 10);
assertEquals(3, result);
- result = h.subtractVisibleColumns(10, 17);
+ result = h.offsetByVisibleColumns(-10, 17);
assertEquals(2, result);
- result = h.subtractVisibleColumns(1, 7);
+ result = h.offsetByVisibleColumns(-1, 7);
assertEquals(5, result);
- result = h.subtractVisibleColumns(1, 8);
+ result = h.offsetByVisibleColumns(-1, 8);
assertEquals(5, result);
- result = h.subtractVisibleColumns(3, 15);
+ result = h.offsetByVisibleColumns(-3, 15);
assertEquals(10, result);
ColumnSelection sel = new ColumnSelection();
h.revealAllHiddenColumns(sel);
h.hideColumns(0, 30);
- result = h.subtractVisibleColumns(31, 0);
+ result = h.offsetByVisibleColumns(-31, 0);
assertEquals(-31, result);
HiddenColumns cs = new HiddenColumns();
- // test that without hidden columns, findColumnNToLeft returns
+ // test that without hidden columns, offsetByVisibleColumns returns
// position n to left of provided position
- long pos = cs.subtractVisibleColumns(3, 10);
+ long pos = cs.offsetByVisibleColumns(-3, 10);
assertEquals(7, pos);
// 0 returns same position
- pos = cs.subtractVisibleColumns(0, 10);
+ pos = cs.offsetByVisibleColumns(0, 10);
assertEquals(10, pos);
// overflow to left returns negative number
- pos = cs.subtractVisibleColumns(3, 0);
+ pos = cs.offsetByVisibleColumns(-3, 0);
assertEquals(-3, pos);
// test that with hidden columns to left of result column
cs.hideColumns(1, 3);
// position n to left of provided position
- pos = cs.subtractVisibleColumns(3, 10);
+ pos = cs.offsetByVisibleColumns(-3, 10);
assertEquals(7, pos);
// 0 returns same position
- pos = cs.subtractVisibleColumns(0, 10);
+ pos = cs.offsetByVisibleColumns(0, 10);
assertEquals(10, pos);
// test with one set of hidden columns between start and required position
cs.hideColumns(12, 15);
- pos = cs.subtractVisibleColumns(8, 17);
+ pos = cs.offsetByVisibleColumns(-8, 17);
assertEquals(5, pos);
// test with two sets of hidden columns between start and required position
cs.hideColumns(20, 21);
- pos = cs.subtractVisibleColumns(8, 23);
+ pos = cs.offsetByVisibleColumns(-8, 23);
assertEquals(9, pos);
// repeat last 2 tests with no hidden columns to left of required position
// test with one set of hidden columns between start and required position
cs.hideColumns(12, 15);
- pos = cs.subtractVisibleColumns(8, 17);
+ pos = cs.offsetByVisibleColumns(-8, 17);
assertEquals(5, pos);
// test with two sets of hidden columns between start and required position
cs.hideColumns(20, 21);
- pos = cs.subtractVisibleColumns(8, 23);
+ pos = cs.offsetByVisibleColumns(-8, 23);
assertEquals(9, pos);
- }
+ // test with right (positive) offsets
+
+ // test that without hidden columns, offsetByVisibleColumns returns
+ // position n to right of provided position
+ pos = cs.offsetByVisibleColumns(3, 7);
+ assertEquals(10, pos);
+
+ // test that with hidden columns to left of result column
+ // behaviour is the same as above
+ cs.hideColumns(1, 3);
+
+ // test with one set of hidden columns between start and required position
+ cs.hideColumns(12, 15);
+ pos = cs.offsetByVisibleColumns(8, 5);
+ assertEquals(17, pos);
+ // test with two sets of hidden columns between start and required position
+ cs.hideColumns(20, 21);
+ pos = cs.offsetByVisibleColumns(8, 9);
+ assertEquals(23, pos);
+
+ // repeat last 2 tests with no hidden columns to left of required position
+ colsel = new ColumnSelection();
+ cs.revealAllHiddenColumns(colsel);
+
+ // test with one set of hidden columns between start and required position
+ cs.hideColumns(12, 15);
+ pos = cs.offsetByVisibleColumns(8, 5);
+ assertEquals(17, pos);
+
+ // test with two sets of hidden columns between start and required position
+ cs.hideColumns(20, 21);
+ pos = cs.offsetByVisibleColumns(8, 9);
+ assertEquals(23, pos);
+ }
@Test(groups = "Functional")
public void testBoundedIterator()