/** * */ package model; import static org.junit.Assert.assertEquals; import java.awt.Dimension; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import org.junit.Test; import test.DDSTestCase; import ddsutil.MipMapsUtil; /** * @author danielsenff * */ public class MipMapTests extends DDSTestCase { @Test public void testNumMipMaps() { Dimension dimension = new Dimension(1024, 1024); int numMipMaps = MipMapsUtil.calculateMaxNumberOfMipMaps(dimension); assertEquals("number of mipmaps in 1024x1024 image", 11, numMipMaps); } @Test public void testMipMapGeneration() { BufferedImage image = null; try { image = ImageIO.read(textureBMP512x512); } catch (IOException e) { e.printStackTrace(); } MipMaps mipmaps = new MipMaps(); mipmaps.generateMipMaps(image); // for (BufferedImage map : mipmaps) for (int i = 0; i < mipmaps.getNumMipMaps(); i++) { BufferedImage map = mipmaps.getMipMap(i); // ImagePlus imp = new ImagePlus("DDSImage", map); // imp.show(); assertEquals("height", MipMaps.getMipMapSizeAtIndex(i, image.getWidth()), map.getHeight()); assertEquals("width", MipMaps.getMipMapSizeAtIndex(i, image.getHeight()), map.getWidth()); } } @Test public void testMipMapTargetSize() { int currentValue = 1024; int targetIndex = 3; int newValue = MipMaps.getMipMapSizeAtIndex(targetIndex, currentValue); assertEquals("value at MipMap-index", 128, newValue); } @Test public void testMipMapIteration() { BufferedImage image = null; try { image = ImageIO.read(textureBMP512x512); } catch (IOException e) { e.printStackTrace(); } MipMaps mipmaps = new MipMaps(); mipmaps.generateMipMaps(image); int count = 1; for (BufferedImage bufferedImage : mipmaps) { count++; assertEquals("BufferedImage exists", true, (bufferedImage != null)); } assertEquals("number of MipMaps",mipmaps.getNumMipMaps(), count); } }