### Question:
MathUtils { public static int round(int value, int step) { int roundDownOrUp = (int) Math.round(((double) (value % step)) / step); int result = ((int) (value / step)) * step; if (roundDownOrUp != 0) result += roundDownOrUp * step; return result; } private  MathUtils(); static int round(int value, int step);  }### Answer:
@Test public void round_returns_an_int_rounded_at_specified_step() { assertEquals(0, MathUtils.round(1, 20)); assertEquals(20, MathUtils.round(18, 20)); assertEquals(20, MathUtils.round(22, 20)); assertEquals(40, MathUtils.round(35, 20)); assertEquals(40, MathUtils.round(30, 20)); assertEquals(0, MathUtils.round(-5, 20)); assertEquals(-20, MathUtils.round(-17, 20)); }