### Question:
DoubleOperations implements MathOperations<Double>, Comparator<Double> { public Double roundUp( Double value, int decimalShift ) { if (value == 0) return 0.0d; double shiftedValue = (Math.abs(value) * Math.pow(10.0d, decimalShift) + 0.5d) * Math.signum(value); double roundedValue = (int)shiftedValue; return roundedValue * Math.pow(10.0d, -decimalShift); }  Class<Double> getOperandClass(); Double add( Double value1,
                       Double value2 ); Double subtract( Double value1,
                            Double value2 ); Double multiply( Double value1,
                            Double value2 ); double divide( Double value1,
                          Double value2 ); Double negate( Double value ); Double increment( Double value ); Double maximum( Double value1,
                           Double value2 ); Double minimum( Double value1,
                           Double value2 ); int compare( Double value1,
                        Double value2 ); BigDecimal asBigDecimal( Double value ); Double fromBigDecimal( BigDecimal value ); Double createZeroValue(); Double create( int value ); Double create( long value ); Double create( double value ); double sqrt( Double value ); Comparator<Double> getComparator(); Double random( Double minimum,
                          Double maximum,
                          Random rng ); double doubleValue( Double value ); float floatValue( Double value ); int intValue( Double value ); long longValue( Double value ); short shortValue( Double value ); int getExponentInScientificNotation( Double value ); Double roundUp( Double value,
                           int decimalShift ); Double roundDown( Double value,
                             int decimalShift ); Double keepSignificantFigures( Double value,
                                          int numSigFigs );  }### Answer:
@Test public void shouldRoundNumbersGreaterThan10() { assertEquals(101.0d, ops.roundUp(101.2523d, 0), 0.01d); assertEquals(101.0d, ops.roundUp(101.2323d, 0), 0.01d); assertEquals(101.3d, ops.roundUp(101.2523d, 1), 0.01d); assertEquals(101.2d, ops.roundUp(101.2323d, 1), 0.01d); assertEquals(110.0d, ops.roundUp(109.2323d, -1), 1d); assertEquals(100.0d, ops.roundUp(101.2323d, -1), 1d); }