Package org.jrebirth.af.core.resource.color

Source Code of org.jrebirth.af.core.resource.color.ColorTest

package org.jrebirth.af.core.resource.color;

import javafx.scene.paint.Color;

import org.jrebirth.af.core.resource.ResourceBuilders;
import org.jrebirth.af.core.resource.color.ColorItem;
import org.jrebirth.af.core.resource.color.GrayColor;
import org.jrebirth.af.core.resource.color.HSBColor;
import org.jrebirth.af.core.resource.color.RGB01Color;
import org.jrebirth.af.core.resource.color.RGB255Color;
import org.jrebirth.af.core.resource.color.WebColor;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

/**
* The class <strong>ColorTest</strong>.
*
* @author Sébastien Bordes
*/
public class ColorTest {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {

    }

    @Before
    public void setUp() throws Exception {

    }

    @Test
    public void grayColor() {

        checkGrayColor(TestColors.TEST_COLOR_GRAY_1);
        checkGrayColor(TestColors.TEST_COLOR_GRAY_2);
        checkGrayColor(TestColors.TEST_COLOR_GRAY_3);
    }

    private void checkGrayColor(final ColorItem colorItem) {
        final Color color = colorItem.get();
        final GrayColor wc = (GrayColor) ResourceBuilders.COLOR_BUILDER.getParam(colorItem);

        // compareRoundedValues(color.getRed(), convert255To1(wc.hex().substring(0, 2)));
        // compareRoundedValues(color.getGreen(), convert255To1(wc.hex().substring(2, 4)));
        // compareRoundedValues(color.getBlue(), convert255To1(wc.hex().substring(4, 6)));

        assertEquals(color.getOpacity(), wc.opacity(), 0.1);

    }

    @Test
    public void hsbColor() {

        checkHsbColor(TestColors.TEST_COLOR_HSB_1);
        checkHsbColor(TestColors.TEST_COLOR_HSB_2);
        checkHsbColor(TestColors.TEST_COLOR_HSB_3);
    }

    private void checkHsbColor(final ColorItem colorItem) {
        final Color color = colorItem.get();
        final HSBColor wc = (HSBColor) ResourceBuilders.COLOR_BUILDER.getParam(colorItem);

        assertEquals(color.getHue(), wc.hue(), 1.0);
        assertEquals(color.getSaturation(), wc.saturation(), 0.000001);
        assertEquals(color.getBrightness(), wc.brightness(), 0.000001);

        assertEquals(color.getOpacity(), wc.opacity(), 0.1);
    }

    @Test
    public void webColor() {

        checkWebColor(TestColors.TEST_COLOR_WEB_1);
        checkWebColor(TestColors.TEST_COLOR_WEB_2);
        checkWebColor(TestColors.TEST_COLOR_WEB_3);
    }

    private void checkWebColor(final ColorItem colorItem) {
        final Color color = colorItem.get();
        final WebColor wc = (WebColor) ResourceBuilders.COLOR_BUILDER.getParam(colorItem);

        assertEquals(color.getRed(), convertHexToDouble(wc.hex().substring(0, 2)), 0.000001);
        assertEquals(color.getGreen(), convertHexToDouble(wc.hex().substring(2, 4)), 0.000001);
        assertEquals(color.getBlue(), convertHexToDouble(wc.hex().substring(4, 6)), 0.000001);

        assertEquals(color.getOpacity(), wc.opacity(), 0.1);

    }

    @Test
    public void rgb01Color() {

        checkRgb01Color(TestColors.TEST_COLOR_RGB01_1);
        checkRgb01Color(TestColors.TEST_COLOR_RGB01_2);
        checkRgb01Color(TestColors.TEST_COLOR_RGB01_3);
    }

    private void checkRgb01Color(final ColorItem colorItem) {
        final Color color = colorItem.get();
        final RGB01Color wc = (RGB01Color) ResourceBuilders.COLOR_BUILDER.getParam(colorItem);

        assertEquals(color.getRed(), wc.red(), 0.000001);
        assertEquals(color.getGreen(), wc.green(), 0.000001);
        assertEquals(color.getBlue(), wc.blue(), 0.000001);

        assertEquals(color.getOpacity(), wc.opacity(), 0.1);
    }

    @Test
    public void rgb255Color() {

        checkRgb255Color(TestColors.TEST_COLOR_RGB255_1);
        checkRgb255Color(TestColors.TEST_COLOR_RGB255_2);
        checkRgb255Color(TestColors.TEST_COLOR_RGB255_3);
    }

    private void checkRgb255Color(final ColorItem colorItem) {
        final Color color = colorItem.get();
        final RGB255Color wc = (RGB255Color) ResourceBuilders.COLOR_BUILDER.getParam(colorItem);

        assertEquals(color.getRed(), convert255To1(wc.red()), 0.000001);
        assertEquals(color.getGreen(), convert255To1(wc.green()), 0.000001);
        assertEquals(color.getBlue(), convert255To1(wc.blue()), 0.000001);

        assertEquals(color.getOpacity(), wc.opacity(), 0.1);
    }

    private double convertHexToDouble(final String hexaSingleColor) {
        final int i = Integer.parseInt(hexaSingleColor, 16);
        return convert255To1(i);
    }

    private double convert255To1(final int i) {
        return i == 0 ? i : i / 255.0;
    }

    @After
    public void tearDown() throws Exception {
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
    }

}
TOP

Related Classes of org.jrebirth.af.core.resource.color.ColorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.