### Question:
MutableLong extends AbstractMutableInteger <MutableLong> { public MutableLong (@Nonnull final Number aValue) { this (aValue.longValue ()); } MutableLong(@Nonnull final Number aValue);  MutableLong(final long nValue); @Override long longValue(); @Override float floatValue(); @Override double doubleValue(); @Override int intValue(); long inc(); long inc(final long nDelta); long inc(@Nonnull final Number aDelta); long dec(); long dec(final long nDelta); long dec(@Nonnull final Number aDelta); long divide(final long nDivisor); long divide(@Nonnull final Number aDivisor); long multiply(final long nMultiplicand); long multiply(@Nonnull final Number aMultiplicand); @Nonnull EChange set(final long nValue); @Nonnull EChange set(@Nonnull final Number aValue); boolean is0(); boolean isLT0(); boolean isLE0(); boolean isGT0(); boolean isGE0(); boolean isEven(); int compareTo(@Nonnull final MutableLong rhs); @Nonnull MutableLong getClone(); @Override boolean equals(final Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testMutableLong () { final MutableLong x = new MutableLong (0); assertEquals (0, x.longValue ()); assertEquals (Long.valueOf (0), x.getAsLong ()); assertFalse (x.isNot0 ()); assertTrue (x.is0 ()); x.inc (); assertEquals (1, x.longValue ()); assertNotEquals (x.hashCode (), x.longValue ()); x.inc (5); assertEquals (6, x.longValue ()); assertNotEquals (x.hashCode (), x.longValue ()); x.inc (-2); assertEquals (4, x.longValue ()); assertNotEquals (x.hashCode (), x.longValue ()); x.dec (); assertEquals (3, x.longValue ()); assertFalse (x.isEven ()); assertNotEquals (x.hashCode (), x.longValue ()); x.dec (5); assertEquals (-2, x.longValue ()); assertTrue (x.isNot0 ()); assertFalse (x.is0 ()); assertTrue (x.isEven ()); assertNotEquals (x.hashCode (), x.longValue ()); assertTrue (x.set (4711).isChanged ()); assertFalse (x.set (4711).isChanged ()); assertFalse (x.isEven ()); assertEquals (4711, x.longValue ()); assertEquals (-1, new MutableLong (4).compareTo (new MutableLong (5))); assertEquals (0, new MutableLong (5).compareTo (new MutableLong (5))); assertEquals (+1, new MutableLong (6).compareTo (new MutableLong (5))); assertNotNull (x.toString ()); assertTrue (x.toString ().contains (Long.toString (x.longValue ()))); x.set (-1); assertFalse (x.isGT0 ()); x.set (0); assertFalse (x.isGT0 ()); x.set (1); assertTrue (x.isGT0 ()); CommonsTestHelper.testDefaultImplementationWithEqualContentObject (new MutableLong (-7000), new MutableLong (-7000)); CommonsTestHelper.testDefaultImplementationWithDifferentContentObject (new MutableLong (600), new MutableLong (700)); CommonsTestHelper.testGetClone (new MutableLong (Long.MIN_VALUE)); }