### Question:
NumberAxis extends ValueAxis implements Cloneable, Serializable { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!(obj instanceof NumberAxis)) { return false; } NumberAxis that = (NumberAxis) obj; if (this.autoRangeIncludesZero != that.autoRangeIncludesZero) { return false; } if (this.autoRangeStickyZero != that.autoRangeStickyZero) { return false; } if (!ObjectUtils.equal(this.tickUnit, that.tickUnit)) { return false; } if (!ObjectUtils.equal(this.numberFormatOverride, that.numberFormatOverride)) { return false; } if (!this.rangeType.equals(that.rangeType)) { return false; } return super.equals(obj); } NumberAxis();  NumberAxis(String label); RangeType getRangeType(); void setRangeType(RangeType rangeType); boolean getAutoRangeIncludesZero(); void setAutoRangeIncludesZero(boolean flag); boolean getAutoRangeStickyZero(); void setAutoRangeStickyZero(boolean flag); NumberTickUnit getTickUnit(); void setTickUnit(NumberTickUnit unit); void setTickUnit(NumberTickUnit unit, boolean notify,
                            boolean turnOffAutoSelect); NumberFormat getNumberFormatOverride(); void setNumberFormatOverride(NumberFormat formatter); MarkerAxisBand getMarkerBand(); void setMarkerBand(MarkerAxisBand band); @Override void configure(); @Override double valueToJava2D(double value, Rectangle2D area,
                                RectangleEdge edge); @Override double java2DToValue(double java2DValue, Rectangle2D area,
                                RectangleEdge edge); @Override AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea,
            Rectangle2D dataArea, RectangleEdge edge,
            PlotRenderingInfo plotState); static TickUnitSource createStandardTickUnits(); static TickUnitSource createIntegerTickUnits(); static TickUnitSource createStandardTickUnits(Locale locale); static TickUnitSource createIntegerTickUnits(Locale locale); @Override List<ValueTick> refreshTicks(Graphics2D g2, AxisState state,
            Rectangle2D dataArea, RectangleEdge edge); @Override Object clone(); @Override boolean equals(Object obj); @Override int hashCode(); static final boolean DEFAULT_AUTO_RANGE_INCLUDES_ZERO; static final boolean DEFAULT_AUTO_RANGE_STICKY_ZERO; static final NumberTickUnit DEFAULT_TICK_UNIT; static final boolean DEFAULT_VERTICAL_TICK_LABELS; }### Answer:
@Test public void testEquals() { NumberAxis a1 = new NumberAxis("Test"); NumberAxis a2 = new NumberAxis("Test"); assertEquals(a1, a2); a1.setAutoRangeIncludesZero(false); assertFalse(a1.equals(a2)); a2.setAutoRangeIncludesZero(false); assertEquals(a1, a2); a1.setAutoRangeStickyZero(false); assertFalse(a1.equals(a2)); a2.setAutoRangeStickyZero(false); assertEquals(a1, a2); a1.setTickUnit(new NumberTickUnit(25.0)); assertFalse(a1.equals(a2)); a2.setTickUnit(new NumberTickUnit(25.0)); assertEquals(a1, a2); a1.setNumberFormatOverride(new DecimalFormat("0.00")); assertFalse(a1.equals(a2)); a2.setNumberFormatOverride(new DecimalFormat("0.00")); assertEquals(a1, a2); a1.setRangeType(RangeType.POSITIVE); assertFalse(a1.equals(a2)); a2.setRangeType(RangeType.POSITIVE); assertEquals(a1, a2); }