X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAnnotationColumnChooserTest.java;fp=test%2Fjalview%2Fgui%2FAnnotationColumnChooserTest.java;h=06478d5f7a92427e5d5c4f4a74d4a9233d46213f;hb=14b1b2a878190d5fffda298c4b9a901c72c74ad3;hp=0000000000000000000000000000000000000000;hpb=4073e96c3cb60f28c01cd91ec7f847cafbf01f78;p=jalview.git
diff --git a/test/jalview/gui/AnnotationColumnChooserTest.java b/test/jalview/gui/AnnotationColumnChooserTest.java
new file mode 100644
index 0000000..06478d5
--- /dev/null
+++ b/test/jalview/gui/AnnotationColumnChooserTest.java
@@ -0,0 +1,176 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see
+ * ann1 - for sequence 0 - label 'IUPRED' ann2 - not sequence related - label + * 'Beauty' ann3 - for sequence 3 - label 'JMol' ann4 - for sequence 2 - label + * 'IUPRED' ann5 - for sequence 1 - label 'JMol' + */ + private void addAnnotations() + { + Annotation an = new Annotation(2f); + Annotation[] anns = new Annotation[] { an, an, an }; + AlignmentAnnotation ann0 = new AlignmentAnnotation("IUPRED", "", anns); + AlignmentAnnotation ann1 = new AlignmentAnnotation("Beauty", "", anns); + AlignmentAnnotation ann2 = new AlignmentAnnotation("JMol", "", anns); + AlignmentAnnotation ann3 = new AlignmentAnnotation("IUPRED", "", anns); + AlignmentAnnotation ann4 = new AlignmentAnnotation("JMol", "", anns); + SequenceI[] seqs = parentPanel.getAlignment().getSequencesArray(); + ann0.setSequenceRef(seqs[0]); + ann2.setSequenceRef(seqs[3]); + ann3.setSequenceRef(seqs[2]); + ann4.setSequenceRef(seqs[1]); + parentPanel.getAlignment().addAnnotation(ann0); + parentPanel.getAlignment().addAnnotation(ann1); + parentPanel.getAlignment().addAnnotation(ann2); + parentPanel.getAlignment().addAnnotation(ann3); + parentPanel.getAlignment().addAnnotation(ann4); + } + + /** + * Test reset + */ + @Test(groups = { "Functional" }) + public void testReset() + { + AnnotationColumnChooser acc = new AnnotationColumnChooser( + af.getViewport(), af.alignPanel); + + HiddenColumns oldhidden = new HiddenColumns(); + oldhidden.hideColumns(10, 20); + acc.setOldHiddenColumns(oldhidden); + + HiddenColumns newHidden = new HiddenColumns(); + newHidden.hideColumns(0, 3); + newHidden.hideColumns(22, 25); + af.getViewport().setHiddenColumns(newHidden); + + HiddenColumns currentHidden = af.getViewport().getAlignment() + .getHiddenColumns(); + Listregions = currentHidden.getHiddenColumnsCopy(); + assertEquals(regions.get(0)[0], 0); + assertEquals(regions.get(0)[1], 3); + assertEquals(regions.get(1)[0], 22); + assertEquals(regions.get(1)[1], 25); + + // now reset hidden columns + acc.reset(); + currentHidden = af.getViewport().getAlignment().getHiddenColumns(); + regions = currentHidden.getHiddenColumnsCopy(); + assertEquals(regions.get(0)[0], 10); + assertEquals(regions.get(0)[1], 20); + + // check works with empty hidden columns as old columns + oldhidden = new HiddenColumns(); + acc.setOldHiddenColumns(oldhidden); + acc.reset(); + currentHidden = af.getViewport().getAlignment().getHiddenColumns(); + assertFalse(currentHidden.hasHiddenColumns()); + + // check works with empty hidden columns as new columns + oldhidden.hideColumns(10, 20); + acc.setOldHiddenColumns(oldhidden); + currentHidden = af.getViewport().getAlignment().getHiddenColumns(); + assertFalse(currentHidden.hasHiddenColumns()); + + acc.reset(); + currentHidden = af.getViewport().getAlignment().getHiddenColumns(); + regions = currentHidden.getHiddenColumnsCopy(); + assertEquals(regions.get(0)[0], 10); + assertEquals(regions.get(0)[1], 20); + } +}