MediaInfo implements JsonSerializable { @NonNull public static Builder newBuilder() { return new Builder(); } private  MediaInfo(@NonNull Builder builder); @NonNull @Override JsonValue toJsonValue(); @NonNull static MediaInfo fromJson(@NonNull JsonValue value); @NonNull String getUrl(); @NonNull @Type String getType(); @NonNull String getDescription(); @Override boolean equals(@Nullable Object o); @Override int hashCode(); @NonNull @Override String toString(); @NonNull static Builder newBuilder(); @NonNull static Builder newBuilder(@NonNull MediaInfo mediaInfo); @NonNull
    static final String TYPE_IMAGE; @NonNull
    static final String TYPE_VIDEO; @NonNull
    static final String TYPE_YOUTUBE; }
@Test(expected = IllegalArgumentException.class) public void testMissingUrl() { MediaInfo.newBuilder() .setDescription("Its cool.") .setType(MediaInfo.TYPE_IMAGE) .build(); }
@Test(expected = IllegalArgumentException.class) public void testMissingDescription() { MediaInfo.newBuilder() .setUrl("cool: .setType(MediaInfo.TYPE_IMAGE) .build(); }
@Test(expected = IllegalArgumentException.class) public void testMissingType() { MediaInfo.newBuilder() .setUrl("cool: .setDescription("Its cool.") .build(); }