### Question:
ByteUtil { public static byte toByteExact(final int value) throws IllegalArgumentException { return castToByteExact(value); }  static int toUnsignedInt(final byte value); static byte toByteExact(final int value); static byte toByteExactUnsigned(final int value);  }### Answer:
@Test public void toByteExact_maxValue() { final int value = 255; byte byteValue = ByteUtil.toByteExact(value); assertThat(byteValue).isEqualTo((byte) value); }
@Test public void toByteExact_minNegativeValue() { final int value = -128; final byte byteValue = ByteUtil.toByteExact(value); assertThat(byteValue).isEqualTo((byte) value); }
@Test public void toByteExact_0xFFasNegative() { final int value = -1; final byte byteValue = ByteUtil.toByteExact(value); assertThat(byteValue).isEqualTo((byte) value); }
@Test public void toByteExact_minPositiveValue() { final int value = 1; byte byteValue = ByteUtil.toByteExact(value); assertThat(byteValue).isEqualTo((byte) value); }
@Test public void toByteExact_zero() { final int value = 0; byte byteValue = ByteUtil.toByteExact(value); assertThat(byteValue).isEqualTo((byte) value); }
@Test public void toByteExact_valueTooLarge() { assertThatThrownBy(() -> ByteUtil.toByteExact(256)) .isInstanceOf(IllegalArgumentException.class) .hasMessageContaining("Supplied int value (256) overflows byte"); }
@Test public void toByteExact_valueTooSmall() { assertThatThrownBy(() -> ByteUtil.toByteExact(-129)) .isInstanceOf(IllegalArgumentException.class) .hasMessageContaining("Supplied int value (-129) overflows byte"); }