MathFunctions { public static Function<Number, Double> divide(double divisor) { return new DivideDouble(divisor); }  static Function<Number, Integer> plus(int addend); static Function<Number, Long> plus(long addend); static Function<Number, Double> plus(final double addend); static Function<Number, Integer> times(final int multiplicand); static Function<Number, Long> times(long multiplicand); static Function<Number, Double> times(final double multiplicand); static Function<Number, Double> divide(double divisor); static Function<Number, String> readableString(int significantDigits, int maxLen); static Function<Number, String> percent(int significantDigits);  }
@Test public void testDivide() { Assert.assertEquals(MathFunctions.divide(2.0).apply(8), 4.0, 0.00000001); }