diff options
Diffstat (limited to 'test/junit/com/sun/gluegen/StructValidator.java')
-rw-r--r-- | test/junit/com/sun/gluegen/StructValidator.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/test/junit/com/sun/gluegen/StructValidator.java b/test/junit/com/sun/gluegen/StructValidator.java new file mode 100644 index 0000000..1fe845c --- /dev/null +++ b/test/junit/com/sun/gluegen/StructValidator.java @@ -0,0 +1,77 @@ +package com.sun.gluegen; + +import java.lang.reflect.InvocationTargetException; +import org.junit.Ignore; + +import static org.junit.Assert.*; + +/** + * this file will not compile unless {@link com.sun.gluegen.StructAccessorTest} has been run. + * @author Michael Bien + */ +@Ignore +public class StructValidator { + + // invoked via reflection from StructAccessorTest1 + public static void validate() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, ClassNotFoundException { + + System.out.println("validating struct accessors..."); + + float[] mu = new float[] {1, 2, 3, 4}; + float[] light = new float[] {5, 6, 7}; + int fastRendering = 1; + int shadow = 42; + int iterations = 512; + int sss = 12; + float epsilon = (float) Math.PI; + int height = 640; + int width = 480; + + structtest.RenderingConfig config = structtest.RenderingConfig.create(); + + //set + config.setLight(light); + config.setMu(mu); + config.setActvateFastRendering(fastRendering); + config.setEnableShadow(shadow); + config.setMaxIterations(iterations); + config.setEpsilon(epsilon); + config.setSuperSamplingSize(sss); + config.setWidth(width); + config.setHeight(height); + + structtest.Camera camera = config.getCamera(); + camera.getOrig().setX(1001).setY(1002).setZ(1003); + camera.getDir().setX(2001).setY(2002).setZ(2003); + + //get and validate + assertArrayEquals(mu, config.getMu()); + assertArrayEquals(light, config.getLight()); + + assertEquals(fastRendering, config.getActvateFastRendering()); + assertEquals(shadow, config.getEnableShadow()); + assertEquals(iterations, config.getMaxIterations()); + assertEquals(epsilon, config.getEpsilon(), 0.01f); + assertEquals(sss, config.getSuperSamplingSize()); + assertEquals(width, config.getWidth()); + assertEquals(height, config.getHeight()); + + assertEquals(camera.getOrig().getX(), 1001, 0.001); + assertEquals(camera.getOrig().getY(), 1002, 0.001); + assertEquals(camera.getOrig().getZ(), 1003, 0.001); + + assertEquals(camera.getDir().getX(), 2001, 0.001); + assertEquals(camera.getDir().getY(), 2002, 0.001); + assertEquals(camera.getDir().getZ(), 2003, 0.001); + + System.out.println("done"); + + } + + private static final void assertArrayEquals(float[] a, float[] b) { + for (int i = 0; i < b.length; i++) { + assertEquals(a[i], b[i], 0.0001f); + } + } + +} |