@Test public void equals_planeNorm() { for (int i = 0; i < 100; i++) { PlaneNormal3D_F64 a = new PlaneNormal3D_F64( (double) rand.nextGaussian(), (double) rand.nextGaussian(), (double) rand.nextGaussian(), (double) rand.nextGaussian(), (double) rand.nextGaussian(), (double) rand.nextGaussian()); PlaneNormal3D_F64 b = new PlaneNormal3D_F64(a); b.p.x += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; b.p.y += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; b.p.z += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; b.n.x += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; b.n.y += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; b.n.z += (rand.nextDouble() - 0.5) * GrlConstants.DOUBLE_TEST_TOL; // change scaling double scale = rand.nextGaussian() * 2; b.n.x *= scale; b.n.y *= scale; b.n.z *= scale; assertTrue(UtilPlane3D_F64.equals(a, b, GrlConstants.DOUBLE_TEST_TOL * 50)); b.p.x += (rand.nextDouble() - 0.5); b.p.y += (rand.nextDouble() - 0.5); b.p.z += (rand.nextDouble() - 0.5); b.n.x += (rand.nextDouble() - 0.5); b.n.y += (rand.nextDouble() - 0.5); b.n.z += (rand.nextDouble() - 0.5); assertFalse(UtilPlane3D_F64.equals(a, b, GrlConstants.DOUBLE_TEST_TOL * 50)); } }