}
@Test(groups = "Functional")
- public void testMakeVisibleAnnotation()
- {
- HiddenColumns h = new HiddenColumns();
- Annotation[] anns = new Annotation[] { null, null, new Annotation(1),
- new Annotation(2), new Annotation(3), null, null, new Annotation(4),
- new Annotation(5), new Annotation(6), new Annotation(7),
- new Annotation(8) };
- AlignmentAnnotation ann = new AlignmentAnnotation("an", "some an",
- anns);
-
- // null annotation
- AlignmentAnnotation nullann = null;
- h.makeVisibleAnnotation(nullann);
- assertNull(nullann);
-
- h.makeVisibleAnnotation(1, 2, nullann);
- assertNull(nullann);
-
- // null annotations
- AlignmentAnnotation emptyann = new AlignmentAnnotation("an", "some ann", null);
- h.makeVisibleAnnotation(emptyann);
- assertNull(emptyann.annotations);
-
- h.makeVisibleAnnotation(3, 4, emptyann);
- assertNull(emptyann.annotations);
-
- // without bounds, does everything
- h.makeVisibleAnnotation(ann);
- assertEquals(12, ann.annotations.length);
- assertNull(ann.annotations[0]);
- assertNull(ann.annotations[1]);
- assertEquals(1.0f, ann.annotations[2].value);
- assertEquals(2.0f, ann.annotations[3].value);
- assertEquals(3.0f, ann.annotations[4].value);
- assertNull(ann.annotations[5]);
- assertNull(ann.annotations[6]);
- assertEquals(4.0f, ann.annotations[7].value);
- assertEquals(5.0f, ann.annotations[8].value);
- assertEquals(6.0f, ann.annotations[9].value);
- assertEquals(7.0f, ann.annotations[10].value);
- assertEquals(8.0f, ann.annotations[11].value);
-
- // without hidden cols, just truncates
- h.makeVisibleAnnotation(3, 5, ann);
- assertEquals(3, ann.annotations.length);
- assertEquals(2.0f, ann.annotations[0].value);
- assertEquals(3.0f, ann.annotations[1].value);
- assertNull(ann.annotations[2]);
-
- anns = new Annotation[] { null, null, new Annotation(1),
- new Annotation(2), new Annotation(3), null, null, new Annotation(4),
- new Annotation(5), new Annotation(6), new Annotation(7),
- new Annotation(8) };
- ann = new AlignmentAnnotation("an", "some an", anns);
- h.hideColumns(4, 7);
- h.makeVisibleAnnotation(1, 9, ann);
- assertEquals(5, ann.annotations.length);
- assertNull(ann.annotations[0]);
- assertEquals(1.0f, ann.annotations[1].value);
- assertEquals(2.0f, ann.annotations[2].value);
- assertEquals(5.0f, ann.annotations[3].value);
- assertEquals(6.0f, ann.annotations[4].value);
-
- anns = new Annotation[] { null, null, new Annotation(1),
- new Annotation(2), new Annotation(3), null, null, new Annotation(4),
- new Annotation(5), new Annotation(6), new Annotation(7),
- new Annotation(8) };
- ann = new AlignmentAnnotation("an", "some an", anns);
- h.hideColumns(1, 2);
- h.makeVisibleAnnotation(1, 9, ann);
- assertEquals(3, ann.annotations.length);
- assertEquals(2.0f, ann.annotations[0].value);
- assertEquals(5.0f, ann.annotations[1].value);
- assertEquals(6.0f, ann.annotations[2].value);
-
- anns = new Annotation[] { null, null, new Annotation(1),
- new Annotation(2), new Annotation(3), null, null, new Annotation(4),
- new Annotation(5), new Annotation(6), new Annotation(7),
- new Annotation(8), new Annotation(9), new Annotation(10),
- new Annotation(11), new Annotation(12), new Annotation(13),
- new Annotation(14), new Annotation(15) };
- ann = new AlignmentAnnotation("an", "some an", anns);
- h = new HiddenColumns();
- h.hideColumns(5, 18);
- h.hideColumns(20, 21);
- h.makeVisibleAnnotation(1, 21, ann);
- assertEquals(5, ann.annotations.length);
- assertEquals(1.0f, ann.annotations[1].value);
- assertEquals(2.0f, ann.annotations[2].value);
- assertEquals(3.0f, ann.annotations[3].value);
- assertNull(ann.annotations[0]);
- assertNull(ann.annotations[4]);
- }
-
- @Test(groups = "Functional")
public void testSubtractVisibleColumns()
{
HiddenColumns h = new HiddenColumns();