### Question:
FloatOperations implements MathOperations<Float>, Comparator<Float> { public int getExponentInScientificNotation( Float value ) { double v = Math.abs(value); int exp = 0; if (v > 1.0d) { while (v >= 10.0d) { v /= 10.0d; ++exp; } } else if (v == 0.0d) { } else if (v < 1.0d) { while (v < 1.0d) { v *= 10.0d; --exp; } } return exp; }  Class<Float> getOperandClass(); Float add( Float value1,
                      Float value2 ); Float subtract( Float value1,
                           Float value2 ); Float multiply( Float value1,
                           Float value2 ); double divide( Float value1,
                          Float value2 ); Float negate( Float value ); Float increment( Float value ); Float maximum( Float value1,
                          Float value2 ); Float minimum( Float value1,
                          Float value2 ); int compare( Float value1,
                        Float value2 ); BigDecimal asBigDecimal( Float value ); Float fromBigDecimal( BigDecimal value ); Float createZeroValue(); Float create( int value ); Float create( long value ); Float create( double value ); double sqrt( Float value ); Comparator<Float> getComparator(); Float random( Float minimum,
                         Float maximum,
                         Random rng ); double doubleValue( Float value ); float floatValue( Float value ); int intValue( Float value ); long longValue( Float value ); short shortValue( Float value ); int getExponentInScientificNotation( Float value ); Float roundUp( Float value,
                          int decimalShift ); Float roundDown( Float value,
                            int decimalShift ); Float keepSignificantFigures( Float value,
                                         int numSigFigs );  }### Answer:
@Test public void shouldReturnProperExponenentInScientificNotation() { assertEquals(-3, ops.getExponentInScientificNotation(0.0010f)); assertEquals(-3, ops.getExponentInScientificNotation(0.0020f)); assertEquals(-3, ops.getExponentInScientificNotation(0.009999f)); assertEquals(-2, ops.getExponentInScientificNotation(0.020000000f)); assertEquals(-2, ops.getExponentInScientificNotation(0.09999f)); assertEquals(-1, ops.getExponentInScientificNotation(0.10f)); assertEquals(-1, ops.getExponentInScientificNotation(0.20f)); assertEquals(-1, ops.getExponentInScientificNotation(0.9999f)); assertEquals(0, ops.getExponentInScientificNotation(0.0f)); assertEquals(0, ops.getExponentInScientificNotation(1.0f)); assertEquals(0, ops.getExponentInScientificNotation(2.0f)); assertEquals(0, ops.getExponentInScientificNotation(9.999f)); assertEquals(1, ops.getExponentInScientificNotation(10.0f)); assertEquals(1, ops.getExponentInScientificNotation(20.0f)); assertEquals(1, ops.getExponentInScientificNotation(99.999f)); assertEquals(2, ops.getExponentInScientificNotation(100.0f)); assertEquals(2, ops.getExponentInScientificNotation(200.0f)); assertEquals(2, ops.getExponentInScientificNotation(999.999f)); assertEquals(3, ops.getExponentInScientificNotation(1000.0f)); assertEquals(3, ops.getExponentInScientificNotation(2000.0f)); assertEquals(3, ops.getExponentInScientificNotation(9999.999f)); }