package org.jwildfire.transform; import org.junit.*; import org.jwildfire.swing.Buffer.BufferType; public class AlphaTest { @Test public void testAlphaLargerThanImage() throws Exception { TestTransformerFrame jf = new TestTransformerFrame(); int left=501;//set these to be larger than the frame, image should stay the same int top=501; AlphaTransformer at = new AlphaTransformer(); at.initDefaultParams(jf.si); at.setTop(top); at.setLeft(left); at.setStoreMesh3D(true); at.setAlphaChannel(jf.getBuffer()); Assert.assertFalse(at.supports3DOutput()); Assert.assertTrue(at.acceptsInputBufferType(BufferType.IMAGE)); Assert.assertFalse(at.acceptsInputBufferType(BufferType.HDR_IMAGE)); Assert.assertEquals(top,at.getTop()); Assert.assertEquals(left,at.getLeft()); Assert.assertEquals(jf.getBuffer().getName(),at.getAlphaChannel().getName()); at.initTransformation(jf.si); if(TestTransformerFrame.live) Thread.sleep(1000); System.out.println("xform"); at.performImageTransformation(jf.si); jf.pack(); if(TestTransformerFrame.live) Thread.sleep(1000); jf.dispose(); } @Test public void testAlphaChannelPositive() throws Exception { TestTransformerFrame jf = new TestTransformerFrame(); AlphaTransformer at = new AlphaTransformer(); at.initDefaultParams(jf.si); at.setStoreMesh3D(true); at.setAlphaChannel(jf.getBuffer()); Assert.assertFalse(at.supports3DOutput()); Assert.assertTrue(at.acceptsInputBufferType(BufferType.IMAGE)); Assert.assertFalse(at.acceptsInputBufferType(BufferType.HDR_IMAGE)); Assert.assertEquals(jf.getBuffer().getName(),at.getAlphaChannel().getName()); at.initTransformation(jf.si); if(TestTransformerFrame.live) Thread.sleep(1000); System.out.println("xform"); at.performImageTransformation(jf.si); jf.pack(); if(TestTransformerFrame.live) Thread.sleep(1000); jf.dispose(); } @Test public void testAlphaChannelNegativeTop() throws Exception { //grey box should be shifted to remaining top 25 pixels TestTransformerFrame jf = new TestTransformerFrame(); AlphaTransformer at = new AlphaTransformer(); at.initDefaultParams(jf.si); at.setTop(-475); at.setStoreMesh3D(true); at.setAlphaChannel(jf.getBuffer()); Assert.assertFalse(at.supports3DOutput()); Assert.assertTrue(at.acceptsInputBufferType(BufferType.IMAGE)); Assert.assertFalse(at.acceptsInputBufferType(BufferType.HDR_IMAGE)); Assert.assertEquals(jf.getBuffer().getName(),at.getAlphaChannel().getName()); at.initTransformation(jf.si); if(TestTransformerFrame.live) Thread.sleep(1000); System.out.println("xform"); at.performImageTransformation(jf.si); jf.pack(); if(TestTransformerFrame.live) Thread.sleep(1000); jf.dispose(); } @Test public void testAlphaChannelNegativeLeft() throws Exception { //grey box should be shifted to remaining 25 pixels on the left TestTransformerFrame jf = new TestTransformerFrame(); AlphaTransformer at = new AlphaTransformer(); at.initDefaultParams(jf.si); at.setLeft(-475); at.setStoreMesh3D(true); at.setAlphaChannel(jf.getBuffer()); //at.performPixelTransformation(jf.getBuffer().getImage()); Assert.assertFalse(at.supports3DOutput()); Assert.assertTrue(at.acceptsInputBufferType(BufferType.IMAGE)); Assert.assertFalse(at.acceptsInputBufferType(BufferType.HDR_IMAGE)); Assert.assertEquals(jf.getBuffer().getName(),at.getAlphaChannel().getName()); at.initTransformation(jf.si); if(TestTransformerFrame.live) Thread.sleep(1000); System.out.println("xform"); at.performImageTransformation(jf.si); jf.pack(); if(TestTransformerFrame.live) Thread.sleep(1000); jf.dispose(); } @Test public void testAlphaChannelNegativeLeftAndTop() throws Exception { //grey box should be shifted to a small remaining 25 pixel box in upper left TestTransformerFrame jf = new TestTransformerFrame(); AlphaTransformer at = new AlphaTransformer(); at.initDefaultParams(jf.si); at.setLeft(-475); at.setTop(-475); at.setStoreMesh3D(true); at.setAlphaChannel(jf.getBuffer()); //at.performPixelTransformation(jf.getBuffer().getImage()); Assert.assertFalse(at.supports3DOutput()); Assert.assertTrue(at.acceptsInputBufferType(BufferType.IMAGE)); Assert.assertFalse(at.acceptsInputBufferType(BufferType.HDR_IMAGE)); Assert.assertEquals(jf.getBuffer().getName(),at.getAlphaChannel().getName()); at.initTransformation(jf.si); if(TestTransformerFrame.live) Thread.sleep(1000); System.out.println("xform"); at.performImageTransformation(jf.si); jf.pack(); if(TestTransformerFrame.live) Thread.sleep(1000); jf.dispose(); } }