### Question:
HashUtilities { public static int hashCodeForDoubleArray(double[] a) { if (a == null) { return 0; } int result = 193; long temp; for (double anA : a) { temp = Double.doubleToLongBits(anA); result = 29 * result + (int) (temp ^ (temp >>> 32)); } return result; }  static int hashCodeForPaint(Paint p); static int hashCodeForDoubleArray(double[] a); static int hashCode(int pre, boolean b); static int hashCode(int pre, int i); static int hashCode(int pre, double d); static int hashCode(int pre, Paint p); static int hashCode(int pre, Stroke s); static int hashCode(int pre, String s); static int hashCode(int pre, Comparable c); static int hashCode(int pre, Object obj); static int hashCode(int pre, BooleanList list); static int hashCode(int pre, PaintList list); static int hashCode(int pre, StrokeList list);  }### Answer:
@Test public void testHashCodeForDoubleArray() { double[] a1 = new double[] {1.0}; double[] a2 = new double[] {1.0}; int h1 = HashUtilities.hashCodeForDoubleArray(a1); int h2 = HashUtilities.hashCodeForDoubleArray(a2); assertEquals(h1, h2); double[] a3 = new double[] {0.5, 1.0}; int h3 = HashUtilities.hashCodeForDoubleArray(a3); assertFalse(h1 == h3); }