### Question:
ByteValue { public static ByteValue of(String byteString) { byteString = byteString.toLowerCase(); Matcher matcher = BYTE_PATTERN.matcher(byteString); if (matcher.matches()) { long value = Long.parseLong(matcher.group(1)); return new ByteValue(byteString, value * getUnitMultiplier(matcher.group(2))); } else { throw new IllegalArgumentException("Invalid byte value '" + byteString + "'"); } } private  ByteValue(String byteString, long bytes); static ByteValue of(String byteString); long getBytes(); @Override String toString(); static final Pattern BYTE_PATTERN; }### Answer:
@Test void testParseUnitInvalid() { for (String invalid : List.of("1Kib", "-1b", " 1b", "1 b", "1b ", "1tb")) { assertThatCode(() -> ByteValue.of(invalid)).isInstanceOf(IllegalArgumentException.class); } }