X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FColorUtilsTest.java;fp=test%2Fjalview%2Futil%2FColorUtilsTest.java;h=0000000000000000000000000000000000000000;hb=4f77328104498504339216829abf5ea87e2791ec;hp=fa4091fab151d3eaefb58cdb782821050f303011;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/test/jalview/util/ColorUtilsTest.java b/test/jalview/util/ColorUtilsTest.java deleted file mode 100644 index fa4091f..0000000 --- a/test/jalview/util/ColorUtilsTest.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) - * Copyright (C) $$Year-Rel$$ The Jalview Authors - * - * This file is part of Jalview. - * - * Jalview is free software: you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 - * of the License, or (at your option) any later version. - * - * Jalview is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty - * of MERCHANTABILITY or FITNESS FOR A PARTICULAR - * PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Jalview. If not, see . - * The Jalview Authors are detailed in the 'AUTHORS' file. - */ -package jalview.util; - -import static org.testng.AssertJUnit.assertEquals; -import static org.testng.AssertJUnit.assertNull; -import static org.testng.AssertJUnit.assertSame; - -import jalview.gui.JvOptionPane; - -import java.awt.Color; - -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -public class ColorUtilsTest -{ - - @BeforeClass(alwaysRun = true) - public void setUpJvOptionPane() - { - JvOptionPane.setInteractiveMode(false); - JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); - } - - Color paleColour = new Color(97, 203, 111); // pale green - - Color midColour = new Color(135, 57, 41); // mid red - - Color darkColour = new Color(11, 30, 50); // dark blue - - @Test(groups = { "Functional" }) - public void testDarkerThan() - { - assertEquals("Wrong darker shade", new Color(32, 69, 37), - ColorUtils.darkerThan(paleColour)); - assertEquals("Wrong darker shade", new Color(45, 18, 13), - ColorUtils.darkerThan(midColour)); - assertEquals("Wrong darker shade", new Color(2, 9, 16), - ColorUtils.darkerThan(darkColour)); - assertNull(ColorUtils.darkerThan(null)); - } - - @Test(groups = { "Functional" }) - public void testBrighterThan() - { - assertEquals("Wrong brighter shade", new Color(255, 255, 255), // white - ColorUtils.brighterThan(paleColour)); - assertEquals("Wrong brighter shade", new Color(255, 164, 117), - ColorUtils.brighterThan(midColour)); - assertEquals("Wrong brighter shade", new Color(30, 85, 144), - ColorUtils.brighterThan(darkColour)); - assertNull(ColorUtils.brighterThan(null)); - } - - /** - * @see http://www.rtapo.com/notes/named_colors.html - */ - @Test(groups = { "Functional" }) - public void testToTkCode() - { - assertEquals("#fffafa", ColorUtils.toTkCode(new Color(255, 250, 250))); // snow - assertEquals("#e6e6fa", ColorUtils.toTkCode(new Color(230, 230, 250))); // lavender - assertEquals("#dda0dd", ColorUtils.toTkCode(new Color(221, 160, 221))); // plum - 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); - - /* - * min = max - */ - col = ColorUtils - .getGraduatedColour(40f, 10f, minColour, 10f, maxColour); - assertEquals(minColour, col); - } - - @Test(groups = { "Functional" }) - public void testBleachColour() - { - Color colour = new Color(155, 105, 55); - assertSame(colour, ColorUtils.bleachColour(colour, 0)); - assertEquals(Color.WHITE, ColorUtils.bleachColour(colour, 1)); - assertEquals(Color.WHITE, ColorUtils.bleachColour(colour, 2)); - assertEquals(new Color(175, 135, 95), - ColorUtils.bleachColour(colour, 0.2f)); - assertEquals(new Color(225, 210, 195), - ColorUtils.bleachColour(colour, 0.7f)); - - /* - * and some 'negative fade' - */ - assertEquals(Color.BLACK, ColorUtils.bleachColour(colour, -1)); - assertEquals(Color.BLACK, ColorUtils.bleachColour(colour, -2)); - assertEquals(new Color(124, 84, 44), - ColorUtils.bleachColour(colour, -0.2f)); - assertEquals(new Color(46, 31, 16), // with rounding down - ColorUtils.bleachColour(colour, -0.7f)); - } - - @Test(groups = "Functional") - public void testParseColourString() - { - /* - * by colour name - if known to AWT, and included in - * - * @see ColourSchemeProperty.getAWTColorFromName() - */ - assertSame(Color.RED, ColorUtils.parseColourString("red")); - assertSame(Color.RED, ColorUtils.parseColourString("Red")); - assertSame(Color.RED, ColorUtils.parseColourString(" RED ")); - - /* - * by RGB hex code - */ - String hexColour = Integer.toHexString(Color.RED.getRGB() & 0xffffff); - assertEquals("ff0000", hexColour); - assertEquals(Color.RED, ColorUtils.parseColourString(hexColour)); - // 'hex' prefixes _not_ wanted here - assertNull(ColorUtils.parseColourString("0x" + hexColour)); - assertNull(ColorUtils.parseColourString("#" + hexColour)); - // out of range, but Color constructor just or's the rgb value with 0 - assertEquals(Color.black, ColorUtils.parseColourString("1000000")); - - /* - * by RGB triplet - */ - Color c = Color.pink; - String rgb = String.format("%d,%d,%d", c.getRed(), c.getGreen(), - c.getBlue()); - assertEquals("255,175,175", rgb); - assertEquals(c, ColorUtils.parseColourString(rgb)); - assertEquals(c, ColorUtils.parseColourString("255, 175 , 175")); - - /* - * odds and ends - */ - assertNull(ColorUtils.parseColourString(null)); - assertNull(ColorUtils.parseColourString("rubbish")); - assertEquals(Color.WHITE, ColorUtils.parseColourString("-1")); - assertNull(ColorUtils.parseColourString(String - .valueOf(Integer.MAX_VALUE))); - assertNull(ColorUtils.parseColourString("100,200,300")); // out of range - assertNull(ColorUtils.parseColourString("100,200")); // too few - assertNull(ColorUtils.parseColourString("100,200,100,200")); // too many - } - - @Test(groups = "Functional") - public void testGetAWTColorFromName() { - assertEquals(Color.white, ColorUtils.getAWTColorFromName("white")); - assertEquals(Color.white, ColorUtils.getAWTColorFromName("White")); - assertEquals(Color.white, ColorUtils.getAWTColorFromName("WHITE")); - assertEquals(Color.pink, ColorUtils.getAWTColorFromName("pink")); - assertNull(ColorUtils.getAWTColorFromName("mauve")); // no such name - assertNull(ColorUtils.getAWTColorFromName("")); - assertNull(ColorUtils.getAWTColorFromName(null)); - } - - @Test(groups = "Functional") - public void testCreateColourFromName() - { - assertEquals(Color.white, ColorUtils.createColourFromName(null)); - assertEquals(new Color(20, 20, 20), ColorUtils.createColourFromName("")); - assertEquals(new Color(98, 131, 171), - ColorUtils.createColourFromName("None")); // no special treatment! - assertEquals(new Color(123, 211, 122), - ColorUtils.createColourFromName("hello world")); - assertEquals(new Color(27, 147, 112), - ColorUtils.createColourFromName("HELLO WORLD")); - /* - * the algorithm makes the same values for r,g,b if - * the string consists of 3 repeating substrings - */ - assertEquals(new Color(184, 184, 184), - ColorUtils.createColourFromName("HELLO HELLO HELLO ")); - } -}