### Question:
MutableDouble extends AbstractMutableNumeric <MutableDouble> { public MutableDouble (@Nonnull final Number aValue) { this (aValue.doubleValue ()); } MutableDouble(@Nonnull final Number aValue);  MutableDouble(final double dValue); @Override double doubleValue(); @Override float floatValue(); @Override int intValue(); @Override long longValue(); double inc(); double inc(final double dDelta); double inc(@Nonnull final Number aDelta); double dec(); double dec(final double dDelta); double dec(@Nonnull final Number aDelta); double divide(final double dDivisor); double divide(@Nonnull final Number aDivisor); double multiply(final double dMultiplicand); double multiply(@Nonnull final Number aMultiplicand); @Nonnull EChange set(final double dValue); @Nonnull EChange set(@Nonnull final Number aValue); boolean is0(); boolean isLT0(); boolean isLE0(); boolean isGT0(); boolean isGE0(); int compareTo(@Nonnull final MutableDouble rhs); @Nonnull MutableDouble getClone(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testMutableDouble () { final MutableDouble x = new MutableDouble (0); assertEquals (0, x.doubleValue (), DELTA); assertEquals (Double.valueOf (0), x.getAsDouble ()); assertFalse (x.isNot0 ()); assertTrue (x.is0 ()); x.inc (); assertEquals (1, x.doubleValue (), DELTA); assertNotEquals (x.hashCode (), x.doubleValue (), DELTA); x.inc (5); assertEquals (6, x.doubleValue (), DELTA); assertNotEquals (x.hashCode (), x.doubleValue (), DELTA); x.inc (-2); assertEquals (4, x.doubleValue (), DELTA); assertNotEquals (x.hashCode (), x.doubleValue (), DELTA); x.dec (); assertEquals (3, x.doubleValue (), DELTA); assertNotEquals (x.hashCode (), x.doubleValue (), DELTA); x.dec (5); assertEquals (-2, x.doubleValue (), DELTA); assertTrue (x.isNot0 ()); assertFalse (x.is0 ()); assertNotEquals (x.hashCode (), x.doubleValue (), DELTA); assertTrue (x.set (4711).isChanged ()); assertFalse (x.set (4711).isChanged ()); assertEquals (4711, x.doubleValue (), DELTA); assertEquals (-1, new MutableDouble (4).compareTo (new MutableDouble (5))); assertEquals (0, new MutableDouble (5).compareTo (new MutableDouble (5))); assertEquals (+1, new MutableDouble (6).compareTo (new MutableDouble (5))); assertNotNull (x.toString ()); assertTrue (x.toString ().contains (Double.toString (x.doubleValue ()))); x.set (-1); assertFalse (x.isGT0 ()); x.set (0); assertFalse (x.isGT0 ()); x.set (1); assertTrue (x.isGT0 ()); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new MutableDouble (3.1234), new MutableDouble (3.1234)); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new MutableDouble (3.1234), new MutableDouble (3.123)); CommonsTestHelper.testGetClone (new MutableDouble (47.11)); }