public void TryMatchMediaTypeMappingClonesMediaType(MediaTypeWithQualityHeaderValue mediaRangeWithQuality) { MockMediaTypeFormatter formatter = new MockMediaTypeFormatter(); MediaTypeHeaderValue mediaRangeWithoutQuality = new MediaTypeHeaderValue(mediaRangeWithQuality.MediaType); MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("application/xml"); MediaRangeMapping mapping = new MediaRangeMapping(mediaRangeWithoutQuality, mediaType); formatter.MediaTypeMappings.Add(mapping); HttpRequestMessage request = new HttpRequestMessage(); request.Headers.Accept.Add(mediaRangeWithQuality); MediaTypeMatch match; formatter.TryMatchMediaTypeMapping(request, out match); Assert.NotNull(match); Assert.NotNull(match.MediaType); Assert.NotSame(mediaType, match.MediaType); }
public void TryMatchMediaTypeMappingWithQuality(MediaTypeWithQualityHeaderValue mediaRangeWithQuality) { MockMediaTypeFormatter formatter = new MockMediaTypeFormatter(); MediaTypeHeaderValue mediaRangeWithoutQuality = new MediaTypeHeaderValue(mediaRangeWithQuality.MediaType); MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("application/xml"); MediaRangeMapping mapping = new MediaRangeMapping(mediaRangeWithoutQuality, mediaType); formatter.MediaTypeMappings.Add(mapping); HttpRequestMessage request = new HttpRequestMessage(); request.Headers.Accept.Add(mediaRangeWithQuality); MediaTypeMatch match; bool result = formatter.TryMatchMediaTypeMapping(request, out match); Assert.True(result, String.Format("TryMatchMediaTypeMapping should have succeeded for '{0}'.", mediaRangeWithQuality)); Assert.NotNull(match); double quality = mediaRangeWithQuality.Quality.Value; Assert.Equal(quality, match.Quality); Assert.NotNull(match.MediaType); Assert.Equal(mediaType.MediaType, match.MediaType.MediaType); }