### Question:
CollisionRange { @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + maxX; result = prime * result + maxY; result = prime * result + minX; result = prime * result + minY; result = prime * result + output.hashCode(); return result; } CollisionRange(Axis output, int minX, int maxX, int minY, int maxY); Axis getOutput(); int getMinX(); int getMaxX(); int getMinY(); int getMaxY(); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString();  }### Answer:
@Test void testHashCode() { assertHashEquals(range, new CollisionRange(Axis.X, 0, 1, 2, 3)); assertHashNotEquals(range, new Object()); assertHashNotEquals(range, new CollisionRange(Axis.Y, 0, 1, 2, 3)); assertHashNotEquals(range, new CollisionRange(Axis.X, 1, 1, 2, 3)); assertHashNotEquals(range, new CollisionRange(Axis.X, 0, 2, 2, 3)); assertHashNotEquals(range, new CollisionRange(Axis.X, 0, 1, 3, 3)); assertHashNotEquals(range, new CollisionRange(Axis.X, 0, 1, 2, 4)); }