### Question:
MathUtils { public static double pow4(double value) { return value * value * value * value; } private  MathUtils(); static double pow2(double value); static double pow3(double value); static double pow4(double value); static boolean nearZero(double value, double tolerance); static boolean nearOne(double value, double tolerance);  }### Answer:
@Test public void test_pow4() { assertThat(MathUtils.pow4(3)).isEqualTo(81); assertThat(MathUtils.pow4(2)).isEqualTo(16); assertThat(MathUtils.pow4(1)).isEqualTo(1); assertThat(MathUtils.pow4(0)).isEqualTo(0); assertThat(MathUtils.pow4(-1)).isEqualTo(1); assertThat(MathUtils.pow4(-2)).isEqualTo(16); assertThat(MathUtils.pow4(-3)).isEqualTo(81); assertThat(MathUtils.pow4(Double.POSITIVE_INFINITY)).isEqualTo(Double.POSITIVE_INFINITY); assertThat(MathUtils.pow4(Double.NEGATIVE_INFINITY)).isEqualTo(Double.POSITIVE_INFINITY); assertThat(MathUtils.pow4(Double.NaN)).isNaN(); assertThat(MathUtils.pow4(Double.POSITIVE_INFINITY)).isEqualTo(Math.pow(Double.POSITIVE_INFINITY, 4)); assertThat(MathUtils.pow4(Double.NEGATIVE_INFINITY)).isEqualTo(Math.pow(Double.NEGATIVE_INFINITY, 4)); assertThat(MathUtils.pow4(Double.NaN)).isNaN(); }