@Test public void testEquality() { final JCameraSphericalType c0 = JCameraSpherical.newCamera(); c0.cameraSetAngleHeading((float) (Math.random() * 100.0f)); c0.cameraSetAngleIncline((float) (Math.random() * 100.0f)); c0.cameraSetTargetPosition3f( (float) (Math.random() * 100.0f), (float) (Math.random() * 100.0f), (float) (Math.random() * 100.0f)); c0.cameraSetZoom((float) (Math.random() * 100.0f)); final JCameraSphericalType c1 = JCameraSpherical.newCameraFrom(c0); System.out.println("c0: " + c0); System.out.println("c1: " + c1); Assert.assertEquals(c0, c1); Assert.assertEquals(c0.hashCode(), c1.hashCode()); Assert.assertEquals(c0.toString(), c1.toString()); this.compareSnapshot(c1); this.compareSnapshot(c0); }
@Test(expected = IllegalArgumentException.class) public void testCameraIncorrect() { final JCameraSphericalType c0 = JCameraSpherical.newCamera(); final JCameraSphericalType c1 = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalAngularIntegratorType ai = JCameraSphericalAngularIntegrator.newIntegrator(c0, i); final JCameraSphericalLinearIntegratorType li = JCameraSphericalLinearIntegrator.newIntegrator(c1, i); JCameraSphericalIntegrator.newIntegratorWith(ai, li); }
@Test public final void testCamera_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalAngularIntegratorType d = this.newIntegrator(c, i); Assert.assertEquals(c, d.integratorGetCamera()); }
@Test public final void testInput_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); Assert.assertEquals(i, d.integratorGetInput()); }
@Test public final void testInput_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalAngularIntegratorType d = this.newIntegrator(c, i); Assert.assertEquals(i, d.integratorGetInput()); }
@Test public final void testCamera_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); Assert.assertEquals(c, d.integratorGetCamera()); }
@Test(expected = IllegalArgumentException.class) public void testInputIncorrect() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i0 = JCameraSphericalInput.newInput(); final JCameraSphericalInputType i1 = JCameraSphericalInput.newInput(); final JCameraSphericalAngularIntegratorType ai = JCameraSphericalAngularIntegrator.newIntegrator(c, i0); final JCameraSphericalLinearIntegratorType li = JCameraSphericalLinearIntegrator.newIntegrator(c, i1); JCameraSphericalIntegrator.newIntegratorWith(ai, li); } }
@Test public final void testStatic() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); d.integrate(1.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testStatic() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalAngularIntegratorType d = this.newIntegrator(c, i); d.integrate(1.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalAngularIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalAngularIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } } }
@Test public final void testMovingForward_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingForwardKey(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 3.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingLeft_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingLeftKey(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(-5.0f, 0.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingRight_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingRightKey(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(10.0f, 0.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingDown_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingDown(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, -5.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingForward_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingForwardKey(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, -2.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingBackward_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingBackwardKey(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 13.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingLeft_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingLeftKey(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(-10.0f, 0.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingUp_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingUp(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 10.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testZoomingIn_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setZoomingIn(true); d.integratorLinearZoomSetAcceleration(1.0f); d.integratorLinearZoomSetMaximumSpeed(1.0f); d.integrate(5.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 3.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingBackward_0() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingBackwardKey(true); d.integratorLinearTargetSetMaximumSpeed(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 0.0f, 18.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }
@Test public final void testMovingUp_1() { final JCameraSphericalType c = JCameraSpherical.newCamera(); final JCameraSphericalInputType i = JCameraSphericalInput.newInput(); final JCameraSphericalLinearIntegratorType d = this.newIntegrator(c, i); i.setTargetMovingUp(true); d.integratorLinearTargetSetMaximumSpeed(0.5f); d.integratorLinearTargetSetAcceleration(1.0f); d.integrate(10.0f); { final VectorI3F expected = new VectorI3F(0.0f, 5.0f, 8.0f); final VectorReadable3FType actual = c.cameraGetPosition(); JCameraSphericalLinearIntegratorContract.dumpVector( "position expected", expected); JCameraSphericalLinearIntegratorContract.dumpVector( "position actual", actual); Assert.assertEquals(expected.getXF(), actual.getXF(), 0.00001f); Assert.assertEquals(expected.getYF(), actual.getYF(), 0.00001f); Assert.assertEquals(expected.getZF(), actual.getZF(), 0.00001f); } }