@Test public void testSubtract() { final Vector2 vec1 = new Vector2(); final Vector2 vec2 = new Vector2(Vector2.ONE); vec1.subtractLocal(1, 2); assertEquals(new Vector2(-1, -2), vec1); vec1.subtractLocal(-1, -2); assertEquals(Vector2.ZERO, vec1); vec1.zero(); vec1.subtractLocal(vec2); assertEquals(Vector2.NEG_ONE, vec1); vec1.zero(); final Vector2 vec3 = vec1.subtract(vec2, new Vector2()); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.NEG_ONE, vec3); final Vector2 vec4 = vec1.subtract(1, 0, null); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.NEG_UNIT_X, vec4); }
@Test public void testAdd() { final Vector2 vec1 = new Vector2(); final Vector2 vec2 = new Vector2(Vector2.ONE); vec1.addLocal(1, 2); assertEquals(new Vector2(1, 2), vec1); vec1.addLocal(-1, -2); assertEquals(Vector2.ZERO, vec1); vec1.zero(); vec1.addLocal(vec2); assertEquals(Vector2.ONE, vec1); vec1.zero(); final Vector2 vec3 = vec1.add(vec2, new Vector2()); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.ONE, vec3); final Vector2 vec4 = vec1.add(1, 0, null); assertEquals(Vector2.ZERO, vec1); assertEquals(Vector2.UNIT_X, vec4); }
@Test public void testNormalize() { final Vector2 vec1 = new Vector2(2, 1); assertTrue(vec1.length() == Math.sqrt(5)); final Vector2 vec2 = vec1.normalize(null); final double invLength = MathUtils.inverseSqrt(2 * 2 + 1 * 1); assertEquals(new Vector2(2 * invLength, 1 * invLength), vec2); vec1.normalizeLocal(); assertEquals(new Vector2(2 * invLength, 1 * invLength), vec1); vec1.zero(); vec1.normalize(vec2); assertEquals(vec1, vec2); // ensure no exception thrown vec1.normalizeLocal(); vec1.normalize(null); }
@Test public void testValid() { final Vector2 vec1 = new Vector2(0, 0); final Vector2 vec2 = new Vector2(Double.POSITIVE_INFINITY, 0); final Vector2 vec3 = new Vector2(0, Double.NEGATIVE_INFINITY); final Vector2 vec4 = new Vector2(Double.NaN, 0); final Vector2 vec5 = new Vector2(0, Double.NaN); assertTrue(Vector2.isValid(vec1)); assertFalse(Vector2.isValid(vec2)); assertFalse(Vector2.isValid(vec3)); assertFalse(Vector2.isValid(vec4)); assertFalse(Vector2.isValid(vec5)); vec5.zero(); assertTrue(Vector2.isValid(vec5)); assertFalse(Vector2.isValid(null)); // couple of equals validity tests assertEquals(vec1, vec1); assertFalse(vec1.equals(null)); assertFalse(vec1.equals(new Vector3())); // throw in a couple pool accesses for coverage final Vector2 vec6 = Vector2.fetchTempInstance(); vec6.set(vec1); assertEquals(vec1, vec6); assertNotSame(vec1, vec6); Vector2.releaseTempInstance(vec6); // cover more of equals vec1.set(0, 1); assertFalse(vec1.equals(new Vector2(0, 2))); }
radialEdge.zero().addLocal(radialOffset); BufferUtils.setInBuffer(radialEdge, vertBuffer, i); texCoord.set(radialU, tyOff + tyScale);