/*
You may freely copy, distribute, modify and use this class as long
as the original author attribution remains intact. See message
below.
Copyright (C) 2005 Christian Pesch. All Rights Reserved.
*/
package slash.metamusic.util;
import slash.metamusic.test.AbstractFileTest;
import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
/**
* Simple tests for ImageResizer
*/
public class ImageResizerTest extends AbstractFileTest {
private ImageResizer resizer = new ImageResizer();
private MimeTypeGuesser guesser = new MimeTypeGuesser();
public ImageResizerTest(String name) {
super(name);
}
public void testWriters() throws IOException {
String[] writerFormatNames = ImageIO.getWriterFormatNames();
assertContains(writerFormatNames, "bmp");
assertContains(writerFormatNames, "jpg");
assertContains(writerFormatNames, "png");
assertContains(writerFormatNames, "wbmp");
String[] writerMIMETypes = ImageIO.getWriterMIMETypes();
assertContains(writerMIMETypes, "image/bmp");
assertContains(writerMIMETypes, "image/jpeg");
assertContains(writerMIMETypes, "image/png");
assertContains(writerMIMETypes, "image/vnd.wap.wbmp");
}
public void testResizeGifAsJpg() throws IOException {
byte[] imageData = URLLoader.getContents(new File(AbstractFileTest.PATH_TO_TEST_IMAGE_FILES + "dontpanic.gif"));
assertEquals("image/gif", guesser.guess(imageData).toString());
assertEquals(101, resizer.getWidth(imageData));
assertEquals(72, resizer.getHeight(imageData));
byte[] resizedData = resizer.resize(imageData, "jpg", 25, 20);
assertNotEquals(imageData.length, resizedData.length);
assertEquals("image/jpg", guesser.guess(resizedData).toString());
assertEquals(25, resizer.getWidth(resizedData));
assertEquals(17, resizer.getHeight(resizedData));
}
public void testResizeJpg() throws IOException {
byte[] imageData = URLLoader.getContents(new File(AbstractFileTest.PATH_TO_TEST_IMAGE_FILES + "dontpanic.jpg"));
assertEquals("image/jpg", guesser.guess(imageData).toString());
assertEquals(101, resizer.getWidth(imageData));
assertEquals(72, resizer.getHeight(imageData));
byte[] resizedData = resizer.resize(imageData, "jpg", 25, 20);
assertNotEquals(imageData.length, resizedData.length);
assertEquals("image/jpg", guesser.guess(resizedData).toString());
assertEquals(25, resizer.getWidth(resizedData));
assertEquals(17, resizer.getHeight(resizedData));
}
}