/** * Tests this object for equality with an arbitrary object. * * @param obj the object (<code>null</code> permitted). * * @return A boolean. */ public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof XYImageAnnotation)) { return false; } XYTitleAnnotation that = (XYTitleAnnotation) obj; if (this.coordinateType != that.coordinateType) { return false; } if (this.x != that.x) { return false; } if (this.y != that.y) { return false; } if (this.maxWidth != that.maxWidth) { return false; } if (this.maxHeight != that.maxHeight) { return false; } if (!ObjectUtilities.equal(this.title, that.title)) { return false; } if (!this.anchor.equals(that.anchor)) { return false; } return super.equals(obj); }
/** * Two objects that are equal are required to return the same hashCode. */ public void testHashCode() { Image image = JFreeChart.INFO.getLogo(); XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, image); XYImageAnnotation a2 = new XYImageAnnotation(10.0, 20.0, image); assertTrue(a1.equals(a2)); int h1 = a1.hashCode(); int h2 = a2.hashCode(); assertEquals(h1, h2); }
/** * Confirm that the equals method can distinguish all the required fields. */ public void testEquals() { XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, JFreeChart.INFO.getLogo()); XYImageAnnotation a2 = new XYImageAnnotation(10.0, 20.0, JFreeChart.INFO.getLogo()); assertTrue(a1.equals(a2)); }
/** * Checks that this class implements PublicCloneable. */ public void testPublicCloneable() { XYImageAnnotation a1 = new XYImageAnnotation(10.0, 20.0, JFreeChart.INFO.getLogo()); assertTrue(a1 instanceof PublicCloneable); }