### Question:
AxisSpace implements Cloneable, PublicCloneable, Serializable { @Override public int hashCode() { int result = 23; long l = Double.doubleToLongBits(this.top); result = 37 * result + (int) (l ^ (l >>> 32)); l = Double.doubleToLongBits(this.bottom); result = 37 * result + (int) (l ^ (l >>> 32)); l = Double.doubleToLongBits(this.left); result = 37 * result + (int) (l ^ (l >>> 32)); l = Double.doubleToLongBits(this.right); result = 37 * result + (int) (l ^ (l >>> 32)); return result; } AxisSpace(); double getTop(); void setTop(double space); double getBottom(); void setBottom(double space); double getLeft(); void setLeft(double space); double getRight(); void setRight(double space); void add(double space, RectangleEdge edge); void ensureAtLeast(AxisSpace space); void ensureAtLeast(double space, RectangleEdge edge); Rectangle2D shrink(Rectangle2D area, Rectangle2D result); Rectangle2D expand(Rectangle2D area, Rectangle2D result); Rectangle2D reserved(Rectangle2D area, RectangleEdge edge); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testHashCode() { AxisSpace s1 = new AxisSpace(); AxisSpace s2 = new AxisSpace(); assertEquals(s1, s2); int h1 = s1.hashCode(); int h2 = s2.hashCode(); assertEquals(h1, h2); }