X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FClustalxColourSchemeTest.java;h=a4c2613ec546e7d093cae2a83e2c773bc4d813fe;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=16317d94acbdcb7a74fbfb26b0ac3382d9c5a831;hpb=db371136969ed3f5b7a6b08b431e53fc752f30e7;p=jalview.git diff --git a/test/jalview/schemes/ClustalxColourSchemeTest.java b/test/jalview/schemes/ClustalxColourSchemeTest.java index 16317d9..a4c2613 100644 --- a/test/jalview/schemes/ClustalxColourSchemeTest.java +++ b/test/jalview/schemes/ClustalxColourSchemeTest.java @@ -27,13 +27,13 @@ public class ClustalxColourSchemeTest ">seq0\nKKKWWWQW\n"; // @formatter:on - @Test + @Test(groups = "Functional") public void testFindColour() { AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(FASTA, DataSourceType.PASTE); AlignmentI al = af.getViewport().getAlignment(); - ColourSchemeI cs = new ClustalxColourScheme(al, null); + ClustalxColourScheme cs = new ClustalxColourScheme(al, null); /* * column 1 is 70% A which is above Clustalx threshold of 60% @@ -85,4 +85,50 @@ public class ClustalxColourSchemeTest // TODO more test cases; check if help documentation matches implementation } + + // @formatter:on + + /** + * Test for colour calculation when the consensus percentage ignores gapped + * sequences + */ + @Test(groups = "Functional") + public void testFindColour_ignoreGaps() + { + /* + * CCC + * CCC + * -CC + * first column is 66% C (blue) including gaps + * or 100% C ignoring gaps + */ + String fasta = ">seq1\nCCC\n>seq2\nccc\n>seq3\n-CC\n"; + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta, + DataSourceType.PASTE); + AlignmentI al = af.getViewport().getAlignment(); + ClustalxColourScheme cs = new ClustalxColourScheme(al, null); + + /* + * column 1 is 66% C which is above Clustalx threshold of 60% + */ + Color clustalBlue = ClustalxColourScheme.ClustalColour.BLUE.colour; + assertEquals(cs.findColour('C', 0, al.getSequenceAt(0)), clustalBlue); + + /* + * set directly to ignore gaps + */ + cs.setIncludeGaps(false); + Color clustalPink = ClustalxColourScheme.ClustalColour.PINK.colour; + assertEquals(cs.findColour('C', 0, al.getSequenceAt(0)), clustalPink); + + /* + * set ignore gaps on the viewport... + */ + cs.setIncludeGaps(true); + assertEquals(cs.findColour('C', 0, al.getSequenceAt(0)), clustalBlue); + af.getViewport().setIgnoreGapsConsensus(true, af.alignPanel); + // next test fails: colour scheme does not read ignore gaps flag from + // viewport + // assertEquals(cs.findColour('C', 0, al.getSequenceAt(0)), clustalPink); + } }