X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAlignViewportTest.java;h=06df70ab6c7aa972572f6b1f214d1e24e69bd478;hb=3965e9e3bc4ca05dcc82b8dc72c380f208c9a1e6;hp=341a8143b1b15f98b08a650165c288bcd4204b44;hpb=528c0f1815bc67b54618ad5b16c2162946974caf;p=jalview.git diff --git a/test/jalview/gui/AlignViewportTest.java b/test/jalview/gui/AlignViewportTest.java index 341a814..06df70a 100644 --- a/test/jalview/gui/AlignViewportTest.java +++ b/test/jalview/gui/AlignViewportTest.java @@ -35,10 +35,15 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.PDBEntry; import jalview.datamodel.PDBEntry.Type; +import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultsI; import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.io.DataSourceType; import jalview.io.FileLoader; -import jalview.io.FormatAdapter; +import jalview.schemes.ColourSchemeI; +import jalview.schemes.PIDColourScheme; import jalview.structure.StructureSelectionManager; import jalview.util.MapList; @@ -52,6 +57,13 @@ import org.testng.annotations.Test; public class AlignViewportTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + AlignmentI al; AlignViewport testee; @@ -59,7 +71,8 @@ public class AlignViewportTest @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { - Jalview.main(new String[] { "-props", "test/jalview/testProps.jvprops" }); + Jalview.main(new String[] { "-nonews", "-props", + "test/jalview/testProps.jvprops" }); } @BeforeMethod(alwaysRun = true) @@ -136,7 +149,7 @@ public class AlignViewportTest * alignment with reference to mappings */ AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nCAGT\n", FormatAdapter.PASTE); + ">Seq1\nCAGT\n", DataSourceType.PASTE); SequenceI s1 = af1.getViewport().getAlignment().getSequenceAt(0); AlignedCodonFrame acf1 = new AlignedCodonFrame(); @@ -185,9 +198,9 @@ public class AlignViewportTest ssm.resetAll(); AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nRSVQ\n", FormatAdapter.PASTE); + ">Seq1\nRSVQ\n", DataSourceType.PASTE); AlignFrame af2 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq2\nDGEL\n", FormatAdapter.PASTE); + ">Seq2\nDGEL\n", DataSourceType.PASTE); SequenceI cs1 = new Sequence("cseq1", "CCCGGGTTTAAA"); SequenceI cs2 = new Sequence("cseq2", "CTTGAGTCTAGA"); SequenceI s1 = af1.getViewport().getAlignment().getSequenceAt(0); @@ -248,9 +261,9 @@ public class AlignViewportTest ssm.resetAll(); AlignFrame af1 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq1\nRSVQ\n", FormatAdapter.PASTE); + ">Seq1\nRSVQ\n", DataSourceType.PASTE); AlignFrame af2 = new FileLoader().LoadFileWaitTillLoaded( - ">Seq2\nDGEL\n", FormatAdapter.PASTE); + ">Seq2\nDGEL\n", DataSourceType.PASTE); SequenceI cs1 = new Sequence("cseq1", "CCCGGGTTTAAA"); SequenceI cs2 = new Sequence("cseq2", "CTTGAGTCTAGA"); SequenceI s1 = af1.getViewport().getAlignment().getSequenceAt(0); @@ -317,7 +330,7 @@ public class AlignViewportTest Cache.applicationProperties.setProperty("SHOW_IDENTITY", Boolean.FALSE.toString()); AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( - "examples/uniref50.fa", FormatAdapter.FILE); + "examples/uniref50.fa", DataSourceType.FILE); AlignmentAnnotation[] anns = af.viewport.getAlignment() .getAlignmentAnnotation(); assertNotNull("No annotations found", anns); @@ -329,4 +342,66 @@ public class AlignViewportTest assertNotNull("Quality in column 1 is null", annotations[0]); assertTrue("No quality value in column 1", annotations[0].value > 10f); } + + @Test(groups = { "Functional" }) + public void testSetGlobalColourScheme() + { + /* + * test for JAL-2283: don't inadvertently turn on colour by conservation + */ + Cache.applicationProperties.setProperty("DEFAULT_COLOUR_PROT", "None"); + Cache.applicationProperties.setProperty("SHOW_CONSERVATION", + Boolean.TRUE.toString()); + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( + "examples/uniref50.fa", DataSourceType.FILE); + ColourSchemeI cs = new PIDColourScheme(); + af.getViewport().setGlobalColourScheme(cs); + assertFalse(af.getViewport().getResidueShading() + .conservationApplied()); + } + + @Test(groups = { "Functional" }) + public void testSetGetHasSearchResults() + { + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( + "examples/uniref50.fa", DataSourceType.FILE); + SearchResultsI sr = new SearchResults(); + SequenceI s1 = af.getViewport().getAlignment().getSequenceAt(0); + + // create arbitrary range on first sequence + sr.addResult(s1, s1.getStart() + 10, s1.getStart() + 15); + + // test set + af.getViewport().setSearchResults(sr); + // has -> true + assertTrue(af.getViewport().hasSearchResults()); + // get == original + assertEquals(sr, af.getViewport().getSearchResults()); + + // set(null) results in has -> false + + af.getViewport().setSearchResults(null); + assertFalse(af.getViewport().hasSearchResults()); + } + + /** + * Verify that setting the selection group has the side-effect of setting the + * context on the group, unless it already has one + */ + @Test(groups = { "Functional" }) + public void testSetSelectionGroup() + { + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded( + "examples/uniref50.fa", DataSourceType.FILE); + AlignViewport av = af.getViewport(); + SequenceGroup sg1 = new SequenceGroup(); + SequenceGroup sg2 = new SequenceGroup(); + + av.setSelectionGroup(sg1); + assertSame(sg1.getContext(), av.getAlignment()); // context set + + sg2.setContext(sg1); + av.setSelectionGroup(sg2); + assertSame(sg2.getContext(), sg1); // unchanged + } }