X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Frenderer%2FOverviewResColourFinderTest.java;h=1c9daea70601c8d0101a1dc3df129ab376859e64;hb=4b7d3640209c4434d569c746672cf9eed4250ace;hp=d7ce4a897d906a1f2ac6077a93b132a5c67377ec;hpb=6fba772f85971a17ec141fe27aed669db209f976;p=jalview.git diff --git a/test/jalview/renderer/OverviewResColourFinderTest.java b/test/jalview/renderer/OverviewResColourFinderTest.java index d7ce4a8..1c9daea 100644 --- a/test/jalview/renderer/OverviewResColourFinderTest.java +++ b/test/jalview/renderer/OverviewResColourFinderTest.java @@ -22,22 +22,25 @@ package jalview.renderer; import static org.testng.AssertJUnit.assertEquals; +import java.awt.Color; +import java.util.ArrayList; + +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + 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.gui.Preferences; +import jalview.gui.OverviewCanvas; +import jalview.schemes.ColourSchemeI; import jalview.schemes.UserColourScheme; import jalview.schemes.ZappoColourScheme; -import java.awt.Color; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - public class OverviewResColourFinderTest { @@ -46,6 +49,7 @@ public class OverviewResColourFinderTest { JvOptionPane.setInteractiveMode(false); JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + Cache.loadProperties("test/jalview/io/testProps.jvprops"); } @Test(groups = { "Functional" }) @@ -58,11 +62,9 @@ public class OverviewResColourFinderTest // gaps are grey, residues white assertEquals(Color.white, rcf.getResidueColour(true, - av.getResidueShading(), - null, seq, 0, null)); - assertEquals(Color.lightGray, rcf - .getResidueColour(true, av.getResidueShading(), null, seq, 2, - null)); + av.getResidueShading(), null, seq, 0, null)); + assertEquals(Color.lightGray, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 2, null)); // unaffected by showBoxes setting assertEquals(Color.white, rcf.getResidueColour(false, @@ -82,23 +84,18 @@ public class OverviewResColourFinderTest av.setGlobalColourScheme(new ZappoColourScheme()); // @see ResidueProperties.zappo - assertEquals(Color.pink, - rcf.getResidueColour(true, av.getResidueShading(), - null, seq, 0, null)); // M - assertEquals(Color.green, - rcf.getResidueColour(true, av.getResidueShading(), - null, seq, 2, null)); // T - assertEquals(Color.magenta, - rcf.getResidueColour(true, av.getResidueShading(), - null, seq, 5, null)); // G - assertEquals(Color.orange, - rcf.getResidueColour(true, av.getResidueShading(), - null, seq, 12, null)); // F + assertEquals(Color.pink, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 0, null)); // M + assertEquals(Color.green, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 2, null)); // T + assertEquals(Color.magenta, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 5, null)); // G + assertEquals(Color.orange, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 12, null)); // F // gap colour not specified so gaps are lightGray - assertEquals(Color.lightGray, rcf - .getResidueColour(true, av.getResidueShading(), null, seq, 3, - null)); + assertEquals(Color.lightGray, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 3, null)); // unaffected by showBoxes setting assertEquals(Color.pink, rcf.getResidueColour(false, @@ -111,9 +108,8 @@ public class OverviewResColourFinderTest av.getResidueShading(), null, seq, 12, null)); // F // gap colour not specified so gaps are lightGray - assertEquals(Color.lightGray, rcf - .getResidueColour(false, av.getResidueShading(), null, seq, 3, - null)); + assertEquals(Color.lightGray, rcf.getResidueColour(false, + av.getResidueShading(), null, seq, 3, null)); } @@ -135,17 +131,15 @@ public class OverviewResColourFinderTest av.setGlobalColourScheme(new UserColourScheme(newColours)); // gap colour not specified so gaps are lightGray - assertEquals(Color.lightGray, rcf - .getResidueColour(true, av.getResidueShading(), null, seq, 3, - null)); + assertEquals(Color.lightGray, rcf.getResidueColour(true, + av.getResidueShading(), null, seq, 3, null)); newColours[23] = Color.pink; av.setGlobalColourScheme(new UserColourScheme(newColours)); // gap colour specified as pink assertEquals(Color.pink, rcf.getResidueColour(true, - av.getResidueShading(), - null, seq, 3, null)); + av.getResidueShading(), null, seq, 3, null)); // unaffected by showBoxes setting // gap colour not specified so gaps are lightGray @@ -162,10 +156,70 @@ public class OverviewResColourFinderTest } @Test - public void testGetBoxColour() + public void testGetResidueBoxColour_group() { - Cache.loadProperties("test/jalview/io/testProps.jvprops"); + 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(Color.white, Color.lightGray, + 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(Color.blue, Color.white, 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 }); @@ -181,10 +235,11 @@ public class OverviewResColourFinderTest // gaps gap colour c = rcf.getBoxColour(shader, seq, 3); - assertEquals(Preferences.OVERVIEW_DEFAULT_GAP, c); + assertEquals(OverviewCanvas.OVERVIEW_DEFAULT_GAP, c); // legacy colouring set explicitly via constructor - rcf = new OverviewResColourFinder(true, Color.blue, Color.red); + rcf = new OverviewResColourFinder(Color.white, Color.lightGray, + Color.red); shader = new ResidueShader(); // residues light gray @@ -205,10 +260,10 @@ public class OverviewResColourFinderTest // gaps gap colour c = rcf.getBoxColour(shader, seq, 3); - assertEquals(Preferences.OVERVIEW_DEFAULT_GAP, c); + assertEquals(OverviewCanvas.OVERVIEW_DEFAULT_GAP, c); // non legacy colouring with colour scheme - rcf = new OverviewResColourFinder(false, Color.blue, Color.red); + rcf = new OverviewResColourFinder(Color.blue, Color.white, Color.red); shader = new ResidueShader(new ZappoColourScheme()); // M residue pink @@ -220,7 +275,8 @@ public class OverviewResColourFinderTest assertEquals(Color.blue, c); // legacy colouring with colour scheme - rcf = new OverviewResColourFinder(true, Color.blue, Color.red); + rcf = new OverviewResColourFinder(Color.white, Color.lightGray, + Color.red); // M residue pink c = rcf.getBoxColour(shader, seq, 0);