X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Frenderer%2FOverviewResColourFinderTest.java;h=16875163b97e2fad660725bd749af1ddb65c1c04;hb=d476574d0dc6e4d98824f430e41c8965b8e93499;hp=649a0bf931c6bca9145a5dca215407931052c754;hpb=aebfd3e1071a70f850b5ef051f9c70bd5e027706;p=jalview.git diff --git a/test/jalview/renderer/OverviewResColourFinderTest.java b/test/jalview/renderer/OverviewResColourFinderTest.java index 649a0bf..1687516 100644 --- a/test/jalview/renderer/OverviewResColourFinderTest.java +++ b/test/jalview/renderer/OverviewResColourFinderTest.java @@ -22,16 +22,20 @@ package jalview.renderer; import static org.testng.AssertJUnit.assertEquals; +import jalview.bin.Cache; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; import jalview.gui.AlignViewport; import jalview.gui.JvOptionPane; +import jalview.schemes.ColourSchemeI; import jalview.schemes.UserColourScheme; import jalview.schemes.ZappoColourScheme; import java.awt.Color; +import java.util.ArrayList; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -44,6 +48,7 @@ public class OverviewResColourFinderTest { JvOptionPane.setInteractiveMode(false); JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + Cache.loadProperties("test/jalview/io/testProps.jvprops"); } @Test(groups = { "Functional" }) @@ -158,4 +163,137 @@ public class OverviewResColourFinderTest assertEquals(Color.pink, rcf.getResidueColour(false, av.getResidueShading(), null, seq, 3, null)); } + + @Test + public void testGetResidueBoxColour_group() + { + SequenceI seq = new Sequence("name", "MA--TVLGSPRAPAFF"); + AlignmentI al = new Alignment(new SequenceI[] { seq }); + + ColourSchemeI cs = new ZappoColourScheme(); + ArrayList seqlist = new ArrayList<>(); + seqlist.add(seq); + SequenceGroup sg = new SequenceGroup(seqlist, "testgroup", cs, true, + true, true, 5, 9); + al.addGroup(sg); + SequenceGroup[] groups = new SequenceGroup[1]; + groups[0] = sg; + + final AlignViewport av = new AlignViewport(al); + ResidueColourFinder rcf = new OverviewResColourFinder(); + + // G in group specified as magenta in Zappo + assertEquals(Color.magenta, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 7, null)); + + // Residue outside group coloured white + assertEquals(Color.white, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 0, null)); + + // Gap outside group coloured lightgray + assertEquals(Color.lightGray, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 2, null)); + + // use legacy colouring + rcf = new OverviewResColourFinder(true, Color.blue, Color.red); + + // G in group specified as magenta in Zappo + assertEquals(Color.magenta, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 7, null)); + + // Residue outside group coloured lightgray + assertEquals(Color.lightGray, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 0, null)); + + // Gap outside group coloured white + assertEquals(Color.white, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 2, null)); + + // use new colouring + rcf = new OverviewResColourFinder(false, Color.blue, Color.red); + + // G in group specified as magenta in Zappo + assertEquals(Color.magenta, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 7, null)); + + // Residue outside group coloured white + assertEquals(Color.white, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 0, null)); + + // Gap outside group coloured blue + assertEquals(Color.blue, rcf.getResidueColour(false, + av.getResidueShading(), groups, seq, 2, null)); + } + + @Test + public void testGetBoxColour() + { + SequenceI seq = new Sequence("name", "MAT--GSPRAPAFF"); // FER1_MAIZE... + a + // gap + AlignmentI al = new Alignment(new SequenceI[] { seq }); + final AlignViewport av = new AlignViewport(al); + + // non-legacy colouring + ResidueColourFinder rcf = new OverviewResColourFinder(); + ResidueShaderI shader = new ResidueShader(); + + // residues white + Color c = rcf.getBoxColour(shader, seq, 0); + assertEquals(Color.white, c); + + // gaps gap colour + c = rcf.getBoxColour(shader, seq, 3); + assertEquals( + jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP, + c); + + // legacy colouring set explicitly via constructor + rcf = new OverviewResColourFinder(true, Color.blue, Color.red); + shader = new ResidueShader(); + + // residues light gray + c = rcf.getBoxColour(shader, seq, 0); + assertEquals(Color.lightGray, c); + + // gaps white + c = rcf.getBoxColour(shader, seq, 3); + assertEquals(Color.white, c); + + // legacy colouring off + rcf = new OverviewResColourFinder(); + shader = new ResidueShader(); + + // residues white + c = rcf.getBoxColour(shader, seq, 0); + assertEquals(Color.white, c); + + // gaps gap colour + c = rcf.getBoxColour(shader, seq, 3); + assertEquals( + jalview.renderer.OverviewResColourFinder.OVERVIEW_DEFAULT_GAP, + c); + + // non legacy colouring with colour scheme + rcf = new OverviewResColourFinder(false, Color.blue, Color.red); + shader = new ResidueShader(new ZappoColourScheme()); + + // M residue pink + c = rcf.getBoxColour(shader, seq, 0); + assertEquals(Color.pink, c); + + // gaps blue + c = rcf.getBoxColour(shader, seq, 3); + assertEquals(Color.blue, c); + + // legacy colouring with colour scheme + rcf = new OverviewResColourFinder(true, Color.blue, Color.red); + + // M residue pink + c = rcf.getBoxColour(shader, seq, 0); + assertEquals(Color.pink, c); + + // gaps white + c = rcf.getBoxColour(shader, seq, 3); + assertEquals(Color.white, c); + } }