ButtonInfo implements JsonSerializable { @NonNull public static Builder newBuilder() { return new Builder(); } private  ButtonInfo(@NonNull Builder builder); @NonNull @Override JsonValue toJsonValue(); @NonNull static ButtonInfo fromJson(@NonNull JsonValue value); @NonNull static List<ButtonInfo> fromJson(@NonNull JsonList jsonList); @NonNull String getId(); @NonNull TextInfo getLabel(); @NonNull @Behavior String getBehavior(); @ColorInt @Nullable Integer getBackgroundColor(); @ColorInt @Nullable Integer getBorderColor(); @Nullable Float getBorderRadius(); @NonNull Map<String, JsonValue> getActions(); @Override boolean equals(@Nullable Object o); @Override int hashCode(); @NonNull @Override String toString(); @NonNull static Builder newBuilder(); @NonNull static Builder newBuilder(@NonNull ButtonInfo buttonInfo); static final int MAX_ID_LENGTH; @NonNull
    static final String BEHAVIOR_CANCEL; @NonNull
    static final String BEHAVIOR_DISMISS; }
@Test(expected = IllegalArgumentException.class) public void testMissingLabel() { ButtonInfo.newBuilder() .build(); }
@Test(expected = IllegalArgumentException.class) public void testMissingId() { ButtonInfo.newBuilder() .setLabel(TextInfo.newBuilder() .setText("hi") .build()) .addAction("cool", JsonValue.wrap("story")) .build(); }
@Test(expected = IllegalArgumentException.class) public void testInvalidId() { ButtonInfo.newBuilder() .setId(UAStringUtil.repeat("a", 101, "")) .setLabel(TextInfo.newBuilder() .setText("hi") .build()) .addAction("cool", JsonValue.wrap("story")) .build(); }