X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAnnotationChooserTest.java;h=f08fa8dcd5b1266e21ff4f3a7ec36f793439c6e3;hb=355b140aeb3c249120a37f5251b537703a0b0938;hp=944ab9c22a569558e36841f35ccb632c5126048f;hpb=b4e0958489010d048a9247dad7b45791e633a1dc;p=jalview.git diff --git a/test/jalview/gui/AnnotationChooserTest.java b/test/jalview/gui/AnnotationChooserTest.java index 944ab9c..f08fa8d 100644 --- a/test/jalview/gui/AnnotationChooserTest.java +++ b/test/jalview/gui/AnnotationChooserTest.java @@ -1,8 +1,31 @@ +/* + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.gui; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertFalse; +import static org.testng.AssertJUnit.assertTrue; + +import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; +import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; @@ -23,8 +46,8 @@ import java.util.List; import javax.swing.JButton; import javax.swing.JPanel; -import org.junit.Before; -import org.junit.Test; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; /** * Unit tests for AnnotationChooser @@ -49,9 +72,19 @@ public class AnnotationChooserTest AlignFrame af; - @Before + @BeforeMethod(alwaysRun = true) public void setUp() throws IOException { + // pin down annotation sort order for test + Cache.applicationProperties.setProperty(Preferences.SORT_ANNOTATIONS, + SequenceAnnotationOrder.NONE.name()); + final String TRUE = Boolean.TRUE.toString(); + Cache.applicationProperties.setProperty( + Preferences.SHOW_AUTOCALC_ABOVE, TRUE); + Cache.applicationProperties.setProperty("SHOW_QUALITY", TRUE); + Cache.applicationProperties.setProperty("SHOW_CONSERVATION", TRUE); + Cache.applicationProperties.setProperty("SHOW_IDENTITY", TRUE); + AlignmentI al = new jalview.io.FormatAdapter().readFile(TEST_DATA, AppletFormatAdapter.PASTE, "FASTA"); af = new AlignFrame(al, 700, 500); @@ -72,8 +105,7 @@ public class AnnotationChooserTest private void addAnnotations() { Annotation an = new Annotation(2f); - Annotation[] anns = new Annotation[] - { an, an, an }; + 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); @@ -94,7 +126,7 @@ public class AnnotationChooserTest /** * Test creation of panel with OK and Cancel buttons */ - @Test + @Test(groups = { "Functional" }) public void testBuildActionButtonsPanel() { testee = new AnnotationChooser(parentPanel); @@ -123,7 +155,7 @@ public class AnnotationChooserTest * Test 'Apply to' has 3 radio buttons enabled, 'Selected Sequences' selected, * when there is a current selection group. */ - @Test + @Test(groups = { "Functional" }) public void testBuildApplyToOptionsPanel_withSelectionGroup() { selectSequences(0, 2, 3); @@ -170,7 +202,7 @@ public class AnnotationChooserTest * Test 'Apply to' has 1 radio button enabled, 'All Sequences' selected, when * there is no current selection group. */ - @Test + @Test(groups = { "Functional" }) public void testBuildApplyToOptionsPanel_noSelectionGroup() { testee = new AnnotationChooser(parentPanel); @@ -211,7 +243,7 @@ public class AnnotationChooserTest /** * Test Show and Hide radio buttons created, with Hide initially selected. */ - @Test + @Test(groups = { "Functional" }) public void testBuildShowHidePanel() { testee = new AnnotationChooser(parentPanel); @@ -249,7 +281,7 @@ public class AnnotationChooserTest /** * Test construction of panel containing two sub-panels */ - @Test + @Test(groups = { "Functional" }) public void testBuildShowHideOptionsPanel() { testee = new AnnotationChooser(parentPanel); @@ -266,7 +298,7 @@ public class AnnotationChooserTest * Test that annotation types are (uniquely) identified. * */ - @Test + @Test(groups = { "Functional" }) public void testGetAnnotationTypes() { selectSequences(1); @@ -298,7 +330,7 @@ public class AnnotationChooserTest * We expect all annotations of that type to be set hidden. Other annotations * should be left visible. */ - @Test + @Test(groups = { "Functional" }) public void testSelectType_hideForAll() { selectSequences(1, 2); @@ -334,7 +366,7 @@ public class AnnotationChooserTest * We expect the annotations of that type, linked to the sequence group, to be * set hidden. Other annotations should be left visible. */ - @Test + @Test(groups = { "Functional" }) public void testSelectType_hideForSelected() { selectSequences(1, 2); @@ -371,7 +403,7 @@ public class AnnotationChooserTest * We expect all annotations of that type to be set visible. Other annotations * should be left unchanged. */ - @Test + @Test(groups = { "Functional" }) public void testDeselectType_hideForAll() { selectSequences(1, 2); @@ -413,7 +445,7 @@ public class AnnotationChooserTest * We expect the annotations of that type, linked to the sequence group, to be * set visible. Other annotations should be left unchanged. */ - @Test + @Test(groups = { "Functional" }) public void testDeselectType_hideForSelected() { selectSequences(1, 2); @@ -448,7 +480,7 @@ public class AnnotationChooserTest * We expect all annotations of that type to be set visible. Other annotations * should be left unchanged */ - @Test + @Test(groups = { "Functional" }) public void testSelectType_showForAll() { selectSequences(1, 2); @@ -487,9 +519,10 @@ public class AnnotationChooserTest * We expect all annotations of that type, linked to the sequence group, to be * set visible. Other annotations should be left unchanged */ - @Test + @Test(groups = { "Functional" }) public void testSelectType_showForSelected() { + // sequences 1 and 2 have annotations IUPred and Jmol selectSequences(1, 2); testee = new AnnotationChooser(parentPanel); final Checkbox showCheckbox = (Checkbox) getComponent(testee, 1, 0, 0); @@ -505,6 +538,7 @@ public class AnnotationChooserTest setSelected(selectedSequencesCheckbox, true); setSelected(hideCheckbox, true); setSelected(getTypeCheckbox("JMol"), true); + assertTrue(anns[5].visible); // JMol for seq3 assertFalse(anns[7].visible); // JMol for seq1 // ...now show them... @@ -527,7 +561,7 @@ public class AnnotationChooserTest * We expect all annotations of that type to be set hidden. Other annotations * should be left unchanged. */ - @Test + @Test(groups = { "Functional" }) public void testDeselectType_showForAll() { selectSequences(1, 2); @@ -568,7 +602,7 @@ public class AnnotationChooserTest * We expect the annotations of that type, linked to the sequence group, to be * set hidden. Other annotations should be left unchanged. */ - @Test + @Test(groups = { "Functional" }) public void testDeselectType_showForSelected() { selectSequences(1, 2); @@ -662,7 +696,7 @@ public class AnnotationChooserTest * Test cases include sequences in the selection group, and others not in the * group. */ - @Test + @Test(groups = { "Functional" }) public void testIsInActionScope_selectedScope() { // sequences 1 and 2 have annotations 4 and 3 respectively @@ -688,7 +722,7 @@ public class AnnotationChooserTest * Test cases include sequences in the selection group, and others not in the * group. */ - @Test + @Test(groups = { "Functional" }) public void testIsInActionScope_unselectedScope() { // sequences 1 and 2 have annotations 4 and 3 respectively @@ -712,7 +746,7 @@ public class AnnotationChooserTest /** * Test that the reset method restores previous visibility flags. */ - @Test + @Test(groups = { "Functional" }) public void testResetOriginalState() { testee = new AnnotationChooser(parentPanel); @@ -725,6 +759,9 @@ public class AnnotationChooserTest assertTrue(i + "'th sequence not visible", anns[i].visible); } + /* + * check options to hide JMol and IUPRED annotations for all sequences + */ final Checkbox hideCheckbox = (Checkbox) getComponent(testee, 1, 0, 1); setSelected(hideCheckbox, true);