X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FHiddenColumnsCursorTest.java;h=cfd2814cd7c93e49bf442113249dbadae9ba6494;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=91cd3cddd58e28fbe7b0f30e425682c5d69fd0f4;hpb=327368a55095d5610b71d03e4dcefeaf6131d300;p=jalview.git diff --git a/test/jalview/datamodel/HiddenColumnsCursorTest.java b/test/jalview/datamodel/HiddenColumnsCursorTest.java index 91cd3cd..cfd2814 100644 --- a/test/jalview/datamodel/HiddenColumnsCursorTest.java +++ b/test/jalview/datamodel/HiddenColumnsCursorTest.java @@ -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 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,79 +62,97 @@ 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 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 = new HiddenColumnsCursor(hidden); + + regionIndex = cursor.findRegionForColumn(160, false).getRegionIndex(); + assertEquals(3, regionIndex); + + regionIndex = cursor.findRegionForColumn(100, false).getRegionIndex(); + assertEquals(1, regionIndex); } /** * 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 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); + } }