Package org.geotools.se.v1_1

Source Code of org.geotools.se.v1_1.SETestSupport

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2002-2010, Open Source Geospatial Foundation (OSGeo)
*
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation;
*    version 2.1 of the License.
*
*    This library 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
*    Lesser General Public License for more details.
*/
package org.geotools.se.v1_1;

import org.geotools.xml.Configuration;
import org.geotools.xml.Parser;
import org.geotools.xml.test.XMLTestSupport;

import javax.imageio.ImageIO;
import javax.swing.Icon;

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.List;

/**
*
*
* @source $URL$
*/
public class SETestSupport extends XMLTestSupport {

    @Override
    protected Configuration createConfiguration() {
        return new SEConfiguration();
    }

    protected static BufferedImage getReferenceImage(String resourceName) throws IOException {
        URL url = SETestSupport.class.getResource(resourceName);
        return ImageIO.read(url);
    }

    protected static void assertImagesEqual(BufferedImage expected, Icon icon) {
        BufferedImage actual = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = actual.createGraphics();
        try {
            icon.paintIcon(null, g, 0, 0);
        }
        finally {
            g.dispose();
        }

        assertNotNull(expected);
        assertEquals(expected.getWidth(), actual.getWidth());
        assertEquals(expected.getHeight(), actual.getHeight());
        int w = actual.getWidth();
        int h = actual.getHeight();
        for (int x = 0; x < w; ++x) {
            for (int y = 0; y < h; ++y) {
                assertEquals("mismatch at (" + x + ", " + y + ")", expected.getRGB(x, y), actual.getRGB(x, y));
            }
        }
    }
   
    protected Object parse(String filename) throws Exception {
        SEConfiguration se = new SEConfiguration();
        Parser p = new Parser(se);
        return p.parse(getClass().getResourceAsStream(filename));
    }
   
    protected List validate(String filename) throws Exception {
        SEConfiguration se = new SEConfiguration();
        Parser p = new Parser(se);
        p.validate(getClass().getResourceAsStream(filename));
        return p.getValidationErrors();
    }

}
TOP

Related Classes of org.geotools.se.v1_1.SETestSupport

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.