X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fschemes%2FFeatureColourTest.java;h=754e0771c3eed194367e347b276a1c667ad1c437;hb=c184de2a81afe5ba6f8b7b68dde221c256e70195;hp=2eb718b68d86ab855ae22c620dd5f990bed8bcbe;hpb=00ec8073218a0788e62cc2aa22de9a1a14d81952;p=jalview.git diff --git a/test/jalview/schemes/FeatureColourTest.java b/test/jalview/schemes/FeatureColourTest.java index 2eb718b..754e077 100644 --- a/test/jalview/schemes/FeatureColourTest.java +++ b/test/jalview/schemes/FeatureColourTest.java @@ -663,4 +663,101 @@ public class FeatureColourTest Color expected = new Color(70, 120, 170); assertEquals(expected, fc.getColor(sf)); } + + /** + * Test description of feature colour suitable for a tooltip + */ + @Test(groups = { "Functional" }) + public void testGetDescription() + { + /* + * plain colour + */ + FeatureColour fc = new FeatureColour(Color.RED); + assertEquals( + String.format("r=%d,g=%d,b=%d", Color.RED.getRed(), + Color.red.getGreen(), Color.red.getBlue()), + fc.getDescription()); + + /* + * colour by label (no threshold) + */ + fc = new FeatureColour(); + fc.setColourByLabel(true); + assertEquals("By Label", fc.getDescription()); + + /* + * colour by attribute text (no threshold) + */ + fc = new FeatureColour(); + fc.setColourByLabel(true); + fc.setAttributeName("CLIN_SIG"); + assertEquals("By CLIN_SIG", fc.getDescription()); + + /* + * colour by label (above score threshold) + */ + fc = new FeatureColour(); + fc.setColourByLabel(true); + fc.setAutoScaled(false); + fc.setThreshold(12.5f); + fc.setAboveThreshold(true); + assertEquals("By Label (Score > 12.5)", + fc.getDescription()); + + /* + * colour by label (below score threshold) + */ + fc.setBelowThreshold(true); + assertEquals("By Label (Score < 12.5)", + fc.getDescription()); + + /* + * colour by attributes text (below score threshold) + */ + fc.setBelowThreshold(true); + fc.setAttributeName("CSQ", "Consequence"); + assertEquals( + "By CSQ:Consequence (Score < 12.5)", + fc.getDescription()); + + /* + * graduated colour by score, no threshold + */ + fc = new FeatureColour(Color.GREEN, Color.RED, 12f, 25f); + assertEquals("By Score", fc.getDescription()); + + /* + * graduated colour by score, below threshold + */ + fc.setThreshold(12.5f); + fc.setBelowThreshold(true); + assertEquals("By Score (< 12.5)", + fc.getDescription()); + + /* + * graduated colour by score, above threshold + */ + fc.setThreshold(12.5f); + fc.setAboveThreshold(true); + fc.setAutoScaled(false); + assertEquals("By Score (> 12.5)", + fc.getDescription()); + + /* + * graduated colour by attribute, no threshold + */ + fc.setAttributeName("CSQ", "AF"); + fc.setAboveThreshold(false); + fc.setAutoScaled(false); + assertEquals("By CSQ:AF", fc.getDescription()); + + /* + * graduated colour by attribute, above threshold + */ + fc.setAboveThreshold(true); + fc.setAutoScaled(false); + assertEquals("By CSQ:AF (> 12.5)", + fc.getDescription()); + } }