@Test public void testAdd() { final Vector4 vec1 = new Vector4(); final Vector4 vec2 = new Vector4(Vector4.ONE); vec1.addLocal(1, 2, 3, 4); assertEquals(new Vector4(1, 2, 3, 4), vec1); vec1.addLocal(-1, -2, -3, -4); assertEquals(Vector4.ZERO, vec1); vec1.zero(); vec1.addLocal(vec2); assertEquals(Vector4.ONE, vec1); vec1.zero(); final Vector4 vec3 = vec1.add(vec2, new Vector4()); assertEquals(Vector4.ZERO, vec1); assertEquals(Vector4.ONE, vec3); final Vector4 vec4 = vec1.add(0, 0, 0, 1, null); assertEquals(Vector4.ZERO, vec1); assertEquals(Vector4.UNIT_W, vec4); }
@Test public void testSubtract() { final Vector4 vec1 = new Vector4(); final Vector4 vec2 = new Vector4(Vector4.ONE); vec1.subtractLocal(1, 2, 3, 4); assertEquals(new Vector4(-1, -2, -3, -4), vec1); vec1.subtractLocal(-1, -2, -3, -4); assertEquals(Vector4.ZERO, vec1); vec1.zero(); vec1.subtractLocal(vec2); assertEquals(Vector4.NEG_ONE, vec1); vec1.zero(); final Vector4 vec3 = vec1.subtract(vec2, new Vector4()); assertEquals(Vector4.ZERO, vec1); assertEquals(Vector4.NEG_ONE, vec3); final Vector4 vec4 = vec1.subtract(0, 0, 0, 1, null); assertEquals(Vector4.ZERO, vec1); assertEquals(Vector4.NEG_UNIT_W, vec4); }
@Test public void testNormalize() { final Vector4 vec1 = new Vector4(2, 1, 3, -1); assertTrue(vec1.length() == Math.sqrt(15)); final Vector4 vec2 = vec1.normalize(null); final double invLength = MathUtils.inverseSqrt(2 * 2 + 1 * 1 + 3 * 3 + -1 * -1); assertEquals(new Vector4(2 * invLength, 1 * invLength, 3 * invLength, -1 * invLength), vec2); vec1.normalizeLocal(); assertEquals(new Vector4(2 * invLength, 1 * invLength, 3 * invLength, -1 * invLength), vec1); vec1.zero(); vec1.normalize(vec2); assertEquals(vec1, vec2); // ensure no exception thrown vec1.normalizeLocal(); vec1.normalize(null); }
assertFalse(Vector4.isValid(vec3D)); vec3C.zero(); assertTrue(Vector4.isValid(vec3C));