/**
* Copyright (C) 2010-14 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.graphene;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import static org.junit.Assert.*;
/**
*
* @author carcassi
*/
public class ImageAssert {
public static void compareImages(String imageName, BufferedImage image) throws Exception {
boolean done = false;
try {
BufferedImage expected = ImageIO.read(ImageAssert.class.getResource(imageName + ".png"));
assertEquals("Images are not the same height", expected.getHeight(), image.getHeight());
assertEquals("Images are not the same width", expected.getWidth(), image.getWidth());
for (int x = 0; x < image.getWidth(); x++) {
for (int y = 0; y < image.getHeight(); y++) {
assertEquals(expected.getRGB(x, y), image.getRGB(x, y));
}
}
done = true;
} finally {
if (!done) {
ImageIO.write(image, "png", new File("src/test/resources/org/diirt/graphene/" + imageName + ".failed.png"));
} else {
File file = new File("src/test/resources/org/diirt/graphene/" + imageName + ".failed.png");
if (file.exists()) {
file.delete();
}
}
}
}
}