### Question:
Vector3f extends AVector3 { public static Vector3f copy(final IVector3 original) { if (original.getNumDimensions() == 2) { return new Vector3f(original.x(), original.y(), 0); } return new Vector3f(original.x(), original.y(), original.z()); } private  Vector3f(); private  Vector3f(final double x, final double y, final double z); static Vector3f fromXYZ(final double x, final double y, final double z); static Vector3f from2d(final IVector2 xy, final double z); static Vector3f copy(final IVector3 original); static Vector3f zero(); @Override IVector3 copy(); @Override IVector3 getXYZVector(); @Override double x(); @Override double y(); @Override double z(); static final Vector3f X_AXIS; static final Vector3f Y_AXIS; static final Vector3f Z_AXIS; static final Vector3f ZERO_VECTOR; static final Vector3f UNINITIALIZED; }### Answer:
@Test public void testCopy() { assertThat(Vector3f.copy(Vector3.fromXYZ(42, 1337, 3.14))).isEqualTo(Vector3.fromXYZ(42, 1337, 3.14)); assertThat(Vector3f.copy(Vector3.fromXYZ(42, 42, 3.14))).isNotEqualTo(Vector3.fromXYZ(42, 1337, 3.14)); }