X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FFeatureSettingsTest.java;h=f09c7c799081e8cd61f57ce8ffdbaf6b02226a58;hb=06ab16e2f61b0d30302e645be386ce02c26086b4;hp=195ca87ad9e2264b3ed01ec8159b7cc9efce4fc6;hpb=3740241b6d0dfa109dc81847afe58f17497c39e8;p=jalview.git diff --git a/test/jalview/gui/FeatureSettingsTest.java b/test/jalview/gui/FeatureSettingsTest.java index 195ca87..f09c7c7 100644 --- a/test/jalview/gui/FeatureSettingsTest.java +++ b/test/jalview/gui/FeatureSettingsTest.java @@ -4,6 +4,13 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; +import java.awt.Color; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; + +import org.testng.annotations.Test; + import jalview.api.FeatureColourI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; @@ -13,16 +20,10 @@ import jalview.datamodel.features.FeatureMatcherSetI; import jalview.io.DataSourceType; import jalview.io.FileLoader; import jalview.schemes.FeatureColour; +import jalview.schemes.FeatureColourTest; import jalview.util.matcher.Condition; import jalview.viewmodel.seqfeatures.FeatureRendererModel; -import java.awt.Color; -import java.io.File; -import java.io.IOException; -import java.util.HashMap; - -import org.testng.annotations.Test; - public class FeatureSettingsTest { /** @@ -61,8 +62,8 @@ public class FeatureSettingsTest fr.setColour("type2", byLabel); // type3: by score above threshold - FeatureColourI byScore = new FeatureColour(Color.BLACK, Color.BLUE, 1, - 10); + FeatureColourI byScore = new FeatureColour(null, Color.BLACK, + Color.BLUE, null, 1, 10); byScore.setAboveThreshold(true); byScore.setThreshold(2f); fr.setColour("type3", byScore); @@ -74,8 +75,8 @@ public class FeatureSettingsTest fr.setColour("type4", byAF); // type5: by attribute CSQ:PolyPhen below threshold - FeatureColourI byPolyPhen = new FeatureColour(Color.BLACK, Color.BLUE, - 1, 10); + FeatureColourI byPolyPhen = new FeatureColour(null, Color.BLACK, + Color.BLUE, null, 1, 10); byPolyPhen.setBelowThreshold(true); byPolyPhen.setThreshold(3f); byPolyPhen.setAttributeName("CSQ", "PolyPhen"); @@ -159,7 +160,7 @@ public class FeatureSettingsTest assertEquals(fr.getFeatureFilter("type2").toStableString(), "(Score LE 2.4) AND (Score GT 1.1)"); assertEquals(fr.getFeatureFilter("type3").toStableString(), - "(AF Contains X) OR (CSQ:PolyPhen NE 0.0)"); + "(AF Contains X) OR (CSQ:PolyPhen NE 0)"); } /** @@ -189,4 +190,50 @@ public class FeatureSettingsTest }); seq.addSequenceFeature(sf); } + + /** + * @see FeatureColourTest#testGetDescription() + * @throws IOException + */ + @Test(groups = "Functional") + public void testGetColorTooltip() throws IOException + { + assertNull(FeatureSettings.getColorTooltip(null, false)); + + /* + * simple colour + */ + FeatureColourI fc = new FeatureColour(Color.black); + String simpleTooltip = "Click to edit, right-click for menu"; + assertEquals(FeatureSettings.getColorTooltip(fc, true), simpleTooltip); + assertNull(FeatureSettings.getColorTooltip(fc, false)); + + /* + * graduated colour tooltip includes description of colour + */ + fc.setColourByLabel(true); + assertEquals(FeatureSettings.getColorTooltip(fc, false), + "By Label"); + assertEquals(FeatureSettings.getColorTooltip(fc, true), + "By Label
" + simpleTooltip + "
"); + + /* + * graduated colour with threshold is html-encoded + */ + fc = new FeatureColour(null, Color.red, Color.blue, null, 2f, 10f); + fc.setBelowThreshold(true); + fc.setThreshold(4f); + assertEquals(FeatureSettings.getColorTooltip(fc, false), + "By Score (< 4.0)"); + assertEquals(FeatureSettings.getColorTooltip(fc, true), + "By Score (< 4.0)
" + simpleTooltip + + "
"); + + fc.setAboveThreshold(true); + assertEquals(FeatureSettings.getColorTooltip(fc, false), + "By Score (> 4.0)"); + assertEquals(FeatureSettings.getColorTooltip(fc, true), + "By Score (> 4.0)
" + simpleTooltip + + "
"); + } }