示例#1
0
        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);
        }
示例#2
0
        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);
        }