Vec2 { public Vec2 negate() { this.x = -this.x; this.y = -this.y; return this; } Vec2();  Vec2(double x, double y);  Vec2(Vec2 vector); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); float[] toArray(float[] result, int offset); double magnitude(); double magnitudeSquared(); double distanceTo(Vec2 vector); double distanceToSquared(Vec2 vector); Vec2 set(double x, double y); Vec2 set(Vec2 vector); Vec2 swap(Vec2 vector); Vec2 add(Vec2 vector); Vec2 subtract(Vec2 vector); Vec2 multiply(double scalar); Vec2 multiplyByMatrix(Matrix3 matrix); Vec2 divide(double divisor); Vec2 negate(); Vec2 normalize(); double dot(Vec2 vector); Vec2 mix(Vec2 vector, double weight); public double x; public double y; }
@Test public void testNegate() throws Exception { final double x1 = 3d; final double y1 = -4d; Vec2 u = new Vec2(x1, y1); Vec2 v = u.negate(); assertEquals("u.x", -x1, u.x, 0d); assertEquals("u.y", -y1, u.y, 0d); assertEquals("v == u", u, v); }
@Test public void testNegate_NaN() throws Exception { assertTrue("2nd Nan", hasNaN(new Vec2(Double.NaN, 4).negate())); assertTrue("2nd Nan", hasNaN(new Vec2(3, Double.NaN).negate())); }