### Question:
IntegerOperations implements MathOperations<Integer>, Comparator<Integer> { public Integer roundUp( Integer value, int decimalShift ) { if (value == 0) return 0; if (decimalShift >= 0) return value; int shiftedValueP5 = Math.abs(value); for (int i = 0; i != (-decimalShift - 1); ++i) shiftedValueP5 /= 10; shiftedValueP5 += 5l; int shiftedValue = shiftedValueP5 / 10; if (shiftedValue * 10l - shiftedValueP5 >= 5) ++shiftedValue; shiftedValue *= Long.signum(value); for (int i = 0; i != -decimalShift; ++i) shiftedValue *= 10; return shiftedValue; }  Class<Integer> getOperandClass(); Integer add( Integer value1,
                        Integer value2 ); Integer subtract( Integer value1,
                             Integer value2 ); Integer multiply( Integer value1,
                             Integer value2 ); double divide( Integer value1,
                          Integer value2 ); Integer negate( Integer value ); Integer increment( Integer value ); Integer maximum( Integer value1,
                            Integer value2 ); Integer minimum( Integer value1,
                            Integer value2 ); int compare( Integer value1,
                        Integer value2 ); BigDecimal asBigDecimal( Integer value ); Integer fromBigDecimal( BigDecimal value ); Integer createZeroValue(); Integer create( int value ); Integer create( long value ); Integer create( double value ); double sqrt( Integer value ); Comparator<Integer> getComparator(); Integer random( Integer minimum,
                           Integer maximum,
                           Random rng ); double doubleValue( Integer value ); float floatValue( Integer value ); int intValue( Integer value ); long longValue( Integer value ); short shortValue( Integer value ); int getExponentInScientificNotation( Integer value ); Integer roundUp( Integer value,
                            int decimalShift ); Integer roundDown( Integer value,
                              int decimalShift ); Integer keepSignificantFigures( Integer value,
                                           int numSigFigs );  }### Answer:
@Test public void shouldRoundNumbersGreaterThan10() { assertThat(ops.roundUp(-101, 0), is(-101)); assertThat(ops.roundUp(-101, 1), is(-101)); assertThat(ops.roundUp(-101, 1), is(-101)); assertThat(ops.roundUp(-101, -1), is(-100)); assertThat(ops.roundUp(-109, -1), is(-110)); assertThat(ops.roundUp(101, 0), is(101)); assertThat(ops.roundUp(101, 0), is(101)); assertThat(ops.roundUp(101, 1), is(101)); assertThat(ops.roundUp(101, 1), is(101)); assertThat(ops.roundUp(109, -1), is(110)); assertThat(ops.roundUp(101, -1), is(100)); }