EntrySplitter { public static Builder newBuilder() { return new Builder(); } EntrySplitter(Builder builder); static Builder newBuilder(); boolean parse(Handler<T> handler, T target, String input); boolean parse(
      Handler<T> handler, T target, String input, int beginIndex, int endIndex);  }
@Test public void builder_illegal() { EntrySplitter.Builder builder = EntrySplitter.newBuilder(); assertThatThrownBy(() -> builder.maxEntries(-1)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("maxEntries <= 0"); assertThatThrownBy(() -> builder.maxEntries(0)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("maxEntries <= 0"); assertThatThrownBy(() -> builder.entrySeparator((char) 0)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("entrySeparator == 0"); assertThatThrownBy(() -> builder.keyValueSeparator((char) 0)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("keyValueSeparator == 0"); builder.keyValueSeparator(';').entrySeparator(';'); assertThatThrownBy(builder::build) .isInstanceOf(IllegalArgumentException.class) .hasMessage("entrySeparator == keyValueSeparator"); }