### Question:
MediaTypes { public static MediaType fromString(final String mediaType) { return ImmutableMediaType.fromString(mediaType, MediaTypes.preferredSyntax()); } private  MediaTypes(); static MediaRangeSyntax preferredSyntax(); static void preferredSyntax(MediaRangeSyntax syntax); static MediaType wildcard(); static MediaType wildcard(String type); static MediaType wildcard(String type, String suffix); static MediaType fromString(final String mediaType); static MediaType of(String type, String subtype); static MediaType of(String type, String subtype, String suffix); static MediaTypeBuilder from(MediaType mediaType); static boolean isWildcardType(final MediaType mediaType); static boolean isWildcardSubType(final MediaType mediaType); static boolean isStructured(final MediaType mediaType); static boolean includes(final MediaType one, final MediaType other); static boolean areCompatible(final MediaType one, final MediaType other); static String toHeader(final MediaType mediaType); static boolean isStandardParameter(final String parameter); static final String WILDCARD_TYPE; static final String PARAM_CHARSET; }### Answer:
@Test public void cannotParseWildcardStructuredMediaType() { try { MediaTypes.fromString("**+xml"); } catch (InvalidMediaTypeException e) { assertThat(e.getMessage(),equalTo("Could not create media type")); assertThat(e.getCause().getMessage(),equalTo("Wildcard structured syntax media types are not allowed (i.e., '*/*+xml')")); } }
@Test public void dependsOnImmutableMediaType() { final String mediaType = "text/turtle"; new MockUp<ImmutableMediaType>() { @Mock public ImmutableMediaType fromString(Invocation context, String aValue, MediaRangeSyntax syntax) { assertThat(aValue,equalTo(mediaType)); return context.proceed(aValue,syntax); } }; MediaType result=MediaTypes.fromString(mediaType); assertThat(result.type(),equalTo("text")); assertThat(result.subType(),equalTo("turtle")); }