Vec3 { @Override public boolean equals(Object o) { if (o == null || this.getClass() != o.getClass()) { return false; } Vec3 that = (Vec3) o; return this.x == that.x && this.y == that.y && this.z == that.z; } Vec3();  Vec3(double x, double y, double z);  Vec3(Vec3 vector); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); float[] toArray(float[] result, int offset); double magnitude(); double magnitudeSquared(); double distanceTo(Vec3 vector); double distanceToSquared(Vec3 vector); Vec3 set(double x, double y, double z); Vec3 set(Vec3 vector); Vec3 swap(Vec3 vector); Vec3 add(Vec3 vector); Vec3 subtract(Vec3 vector); Vec3 multiply(double scalar); Vec3 multiplyByMatrix(Matrix4 matrix); Vec3 divide(double divisor); Vec3 negate(); Vec3 normalize(); double dot(Vec3 vector); Vec3 cross(Vec3 vector); Vec3 cross(Vec3 a, Vec3 b); Vec3 mix(Vec3 vector, double weight); public double x; public double y; public double z; }
@Test public void testEquals() throws Exception { final double x1 = 3.1; final double y1 = 4.2; final double z1 = 5.3; Vec3 u = new Vec3(x1, y1, z1); Vec3 v = new Vec3(x1, y1, z1); assertEquals("equality: x", x1, u.x, 0); assertEquals("equality: y", y1, u.y, 0); assertEquals("equality: z", z1, u.z, 0); assertEquals("equality", u, u); assertEquals("equality", u, v); }