### Question:
IntegerValue extends Value { @Override Value lessThan (Value v) { if (v instanceof IntegerValue) { return new BooleanValue (intValue () < v.toIntegerValue ().intValue ()); } else { return toRealValue ().lessThan (v); } } IntegerValue(int value);   IntegerValue(String value); @Override String toString();  }### Answer:
@Test public void testLessThan () { assertEquals ("true", mNegativeValue.lessThan (mZeroValue).toString ()); assertEquals ("true", mNegativeValue.lessThan (mPositiveValue).toString ()); assertEquals ("true", mZeroValue.lessThan (mPositiveValue).toString ()); assertEquals ("false", mPositiveValue.lessThan (mZeroValue).toString ()); assertEquals ("false", mPositiveValue.lessThan (mNegativeValue).toString ()); assertEquals ("false", mZeroValue.lessThan (mNegativeValue).toString ()); assertEquals ("true", mZeroValue.lessThan (mRealOneValue).toString ()); assertEquals ("false", mZeroValue.lessThan (mRealMinusOneValue).toString ()); }