X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FColorUtilsTest.java;h=ca1aca0bda2ee0ce26db4b27d269dd0eb70385b0;hb=2f5b2fa149a0bdedff23293ce7c0522b3a3c77ec;hp=2b12a7249ad2f55fd5efd37f9c302748ff0a320f;hpb=49d07daba32cb7ca7841eca72c82cdf3c8d4344d;p=jalview.git diff --git a/test/jalview/util/ColorUtilsTest.java b/test/jalview/util/ColorUtilsTest.java index 2b12a72..ca1aca0 100644 --- a/test/jalview/util/ColorUtilsTest.java +++ b/test/jalview/util/ColorUtilsTest.java @@ -72,4 +72,58 @@ public class ColorUtilsTest assertEquals("#800080", ColorUtils.toTkCode(new Color(128, 0, 128))); // purple assertEquals("#00ff00", ColorUtils.toTkCode(new Color(0, 255, 0))); // lime } + + @Test(groups = { "Functional" }) + public void testGetGraduatedColour() + { + Color minColour = new Color(100, 100, 100); + Color maxColour = new Color(180, 200, 220); + + /* + * value half-way between min and max + */ + Color col = ColorUtils.getGraduatedColour(20f, 10f, minColour, 30f, + maxColour); + assertEquals(140, col.getRed()); + assertEquals(150, col.getGreen()); + assertEquals(160, col.getBlue()); + + /* + * value two-thirds of the way between min and max + */ + col = ColorUtils + .getGraduatedColour(30f, 10f, minColour, 40f, maxColour); + assertEquals(153, col.getRed()); + // Color constructor rounds float value to nearest int + assertEquals(167, col.getGreen()); + assertEquals(180, col.getBlue()); + + /* + * value = min + */ + col = ColorUtils + .getGraduatedColour(10f, 10f, minColour, 30f, maxColour); + assertEquals(minColour, col); + + /* + * value = max + */ + col = ColorUtils + .getGraduatedColour(30f, 10f, minColour, 30f, maxColour); + assertEquals(maxColour, col); + + /* + * value < min + */ + col = ColorUtils.getGraduatedColour(0f, 10f, minColour, 30f, maxColour); + assertEquals(minColour, col); + + /* + * value > max + */ + col = ColorUtils + .getGraduatedColour(40f, 10f, minColour, 30f, + maxColour); + assertEquals(maxColour, col); + } }