// Path: ImagingKit_Core/src/main/java/hageldave/imagingkit/core/util/BufferedImageFactory.java
// public class BufferedImageFactory {
// 
// 	private BufferedImageFactory(){}
// 	
// 	/**
// 	 * shortcut for get(img, BufferedImage.TYPE_INT_ARGB).
// 	 * @param img to be copied to BufferedImage of type INT_ARGB
// 	 * @return a BufferedImage copy of the provided Image
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(Image img){
// 		return get(img, BufferedImage.TYPE_INT_ARGB);
// 	}
// 	
// 	/**
// 	 * Creates a new BufferedImage of the specified imgType and same size as 
// 	 * the provided image and draws the provided Image onto the new BufferedImage.
// 	 * @param img to be copied to BufferedImage
// 	 * @param imgType of the BufferedImage. See 
// 	 * {@link BufferedImage#BufferedImage(int, int, int)} for details on the
// 	 * available imgTypes.
// 	 * @return a BufferedImage copy of the provided Image
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage get(Image img, int imgType){
// 		Function<Integer, ImageObserver> obs = flags->{
// 			return (image, infoflags, x, y, width, height)->(infoflags & flags)!=flags;
// 		};
// 		BufferedImage bimg = new BufferedImage(
// 				img.getWidth(obs.apply(ImageObserver.WIDTH)), 
// 				img.getHeight(obs.apply(ImageObserver.HEIGHT)), 
// 				imgType);
// 		Graphics2D gr2D = bimg.createGraphics();
// 		gr2D.drawImage(img, 0, 0, obs.apply(ImageObserver.ALLBITS));
// 				
// 		gr2D.dispose();
// 		
// 		return bimg;
// 	}
// 	
// 	/**
// 	 * Instancing method for BufferedImage of type {@link BufferedImage#TYPE_INT_ARGB}
// 	 * @param d dimension of the created BufferedImage
// 	 * @return a new BufferedImage of specified dimension and type TYPE_INT_ARGB
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(Dimension d){
// 		return getINT_ARGB(d.width, d.height);
// 	}
// 	
// 	/**
// 	 * Instancing method for BufferedImage of type {@link BufferedImage#TYPE_INT_ARGB}
// 	 * @param width of the created BufferedImage
// 	 * @param height of the created BufferedImage
// 	 * @return a new BufferedImage of specified dimension and type TYPE_INT_ARGB
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(int width, int height){
// 		return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
// 	}
// }


import java.awt.Dimension;
import java.awt.image.BufferedImage;
import static org.junit.Assert.*;
import org.junit.Test;
import hageldave.imagingkit.core.util.BufferedImageFactory;
package hageldave.imagingkit.core.util;




public class BufferedImageFactoryTest {

	@Test
	public void testAll() {
		BufferedImage bimg = BufferedImageFactory.getINT_ARGB(1, 2);
// Path: ImagingKit_Core/src/main/java/hageldave/imagingkit/core/util/BufferedImageFactory.java
// public class BufferedImageFactory {
// 
// 	private BufferedImageFactory(){}
// 	
// 	/**
// 	 * shortcut for get(img, BufferedImage.TYPE_INT_ARGB).
// 	 * @param img to be copied to BufferedImage of type INT_ARGB
// 	 * @return a BufferedImage copy of the provided Image
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(Image img){
// 		return get(img, BufferedImage.TYPE_INT_ARGB);
// 	}
// 	
// 	/**
// 	 * Creates a new BufferedImage of the specified imgType and same size as 
// 	 * the provided image and draws the provided Image onto the new BufferedImage.
// 	 * @param img to be copied to BufferedImage
// 	 * @param imgType of the BufferedImage. See 
// 	 * {@link BufferedImage#BufferedImage(int, int, int)} for details on the
// 	 * available imgTypes.
// 	 * @return a BufferedImage copy of the provided Image
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage get(Image img, int imgType){
// 		Function<Integer, ImageObserver> obs = flags->{
// 			return (image, infoflags, x, y, width, height)->(infoflags & flags)!=flags;
// 		};
// 		BufferedImage bimg = new BufferedImage(
// 				img.getWidth(obs.apply(ImageObserver.WIDTH)), 
// 				img.getHeight(obs.apply(ImageObserver.HEIGHT)), 
// 				imgType);
// 		Graphics2D gr2D = bimg.createGraphics();
// 		gr2D.drawImage(img, 0, 0, obs.apply(ImageObserver.ALLBITS));
// 				
// 		gr2D.dispose();
// 		
// 		return bimg;
// 	}
// 	
// 	/**
// 	 * Instancing method for BufferedImage of type {@link BufferedImage#TYPE_INT_ARGB}
// 	 * @param d dimension of the created BufferedImage
// 	 * @return a new BufferedImage of specified dimension and type TYPE_INT_ARGB
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(Dimension d){
// 		return getINT_ARGB(d.width, d.height);
// 	}
// 	
// 	/**
// 	 * Instancing method for BufferedImage of type {@link BufferedImage#TYPE_INT_ARGB}
// 	 * @param width of the created BufferedImage
// 	 * @param height of the created BufferedImage
// 	 * @return a new BufferedImage of specified dimension and type TYPE_INT_ARGB
// 	 * @since 1.0
// 	 */
// 	public static BufferedImage getINT_ARGB(int width, int height){
// 		return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
// 	}
// }


// Path: ImagingKit_Core/src/test/java/hageldave/imagingkit/core/util/BufferedImageFactoryTest.java
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import static org.junit.Assert.*;
import org.junit.Test;
import hageldave.imagingkit.core.util.BufferedImageFactory;

package hageldave.imagingkit.core.util;




public class BufferedImageFactoryTest {

	@Test
	public void testAll() {
		BufferedImage bimg = BufferedImageFactory.getINT_ARGB(1, 2);
		assertEquals(1, bimg.getWidth());