package com.celements.photo.image;
import static org.junit.Assert.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import org.junit.Before;
import org.junit.Test;
import com.celements.photo.container.ImageDimensions;
public class GenerateThumbnailTest {
private GenerateThumbnail genThum;
@Before
public void setUp() throws Exception {
genThum = new GenerateThumbnail();
}
@Test
public void testGetThumbnailDimensions() {
ImageDimensions imgDim = genThum.getThumbnailDimensions(498, 248, 995, 496);
assertEquals(498, imgDim.getSize().width);
assertEquals(248, imgDim.getSize().height);
}
@Test
public void testGetThumbnailDimensions_getWidth() {
ImageDimensions imgDim = genThum.getThumbnailDimensions(498, 248, 995, 496);
assertEquals(498, (int)imgDim.getWidth());
assertEquals(248, (int)imgDim.getHeight());
}
@Test
public void testGetThumbnailDimensions_aspectRatio() {
ImageDimensions imgDim = genThum.getThumbnailDimensions(995, 496, 497, 247);
assertEquals(496, imgDim.getSize().width);
assertEquals(247, imgDim.getSize().height);
}
@Test
public void testCreateThumbnail() throws Exception {
InputStream in = getClass().getClassLoader().getResourceAsStream("Home.Home2.jpg");
BufferedImage img = genThum.decodeImage(in);
in.close();
ByteArrayOutputStream out = new ByteArrayOutputStream();
genThum.createThumbnail(img, out, new ImageDimensions(497, 247), null, null, "PNG",
null);
BufferedImage outImg = genThum.decodeImage(new ByteArrayInputStream(out.toByteArray(
)));
out.close();
assertEquals(497, outImg.getWidth(null));
assertEquals(247, outImg.getHeight(null));
}
}