public void CopyAsReadOnly_WithParameters_CopiedAndReadOnly() { var mediaType0 = new MediaTypeHeaderValue("text/plain"); mediaType0.Parameters.Add(new NameValueHeaderValue("name", "value")); var mediaType1 = mediaType0.CopyAsReadOnly(); Assert.NotSame(mediaType0, mediaType1); Assert.False(mediaType0.IsReadOnly); Assert.True(mediaType1.IsReadOnly); Assert.Same(mediaType0.MediaType, mediaType1.MediaType); Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters); Assert.False(mediaType0.Parameters.IsReadOnly); Assert.True(mediaType1.Parameters.IsReadOnly); Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count); Assert.Throws <NotSupportedException>(() => mediaType1.Parameters.Add(new NameValueHeaderValue("name"))); Assert.Throws <NotSupportedException>(() => mediaType1.Parameters.Remove(new NameValueHeaderValue("name"))); Assert.Throws <NotSupportedException>(() => mediaType1.Parameters.Clear()); var pair0 = mediaType0.Parameters.First(); var pair1 = mediaType1.Parameters.First(); Assert.NotSame(pair0, pair1); Assert.False(pair0.IsReadOnly); Assert.True(pair1.IsReadOnly); Assert.Same(pair0.Name, pair1.Name); Assert.Same(pair0.Value, pair1.Value); }
public void CopyAsReadOnly_SimpleMediaType_CopiedAndReadOnly() { var mediaType0 = new MediaTypeHeaderValue("text/plain"); var mediaType1 = mediaType0.CopyAsReadOnly(); Assert.NotSame(mediaType0, mediaType1); Assert.Same(mediaType0.MediaType, mediaType1.MediaType); Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters); Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count); Assert.False(mediaType0.IsReadOnly); Assert.True(mediaType1.IsReadOnly); Assert.Throws<InvalidOperationException>(() => { mediaType1.MediaType = "some/value"; }); }
public void CopyAsReadOnly_SimpleMediaType_CopiedAndReadOnly() { var mediaType0 = new MediaTypeHeaderValue("text/plain"); var mediaType1 = mediaType0.CopyAsReadOnly(); Assert.NotSame(mediaType0, mediaType1); Assert.Same(mediaType0.MediaType, mediaType1.MediaType); Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters); Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count); Assert.False(mediaType0.IsReadOnly); Assert.True(mediaType1.IsReadOnly); Assert.Throws <InvalidOperationException>(() => { mediaType1.MediaType = "some/value"; }); }
/// <summary> /// Sets mapping for the format to specified <see cref="MediaTypeHeaderValue"/>. /// If the format already exists, the <see cref="MediaTypeHeaderValue"/> will be overwritten with the new value. /// </summary> /// <param name="format">The format value.</param> /// <param name="contentType">The <see cref="MediaTypeHeaderValue"/> for the format value.</param> public void SetMediaTypeMappingForFormat(string format, MediaTypeHeaderValue contentType) { if (format == null) { throw new ArgumentNullException(nameof(format)); } if (contentType == null) { throw new ArgumentNullException(nameof(contentType)); } ValidateContentType(contentType); format = RemovePeriodIfPresent(format); _map[format] = contentType.CopyAsReadOnly(); }
public void CopyFromReadOnly_WithParameters_CopiedAsNonReadOnly() { var mediaType0 = new MediaTypeHeaderValue("text/plain"); mediaType0.Parameters.Add(new NameValueHeaderValue("name", "value")); var mediaType1 = mediaType0.CopyAsReadOnly(); var mediaType2 = mediaType1.Copy(); Assert.NotSame(mediaType2, mediaType1); Assert.Same(mediaType2.MediaType, mediaType1.MediaType); Assert.True(mediaType1.IsReadOnly); Assert.False(mediaType2.IsReadOnly); Assert.NotSame(mediaType2.Parameters, mediaType1.Parameters); Assert.Equal(mediaType2.Parameters.Count, mediaType1.Parameters.Count); var pair2 = mediaType2.Parameters.First(); var pair1 = mediaType1.Parameters.First(); Assert.NotSame(pair2, pair1); Assert.True(pair1.IsReadOnly); Assert.False(pair2.IsReadOnly); Assert.Same(pair2.Name, pair1.Name); Assert.Same(pair2.Value, pair1.Value); }
public void CopyAsReadOnly_WithParameters_CopiedAndReadOnly() { var mediaType0 = new MediaTypeHeaderValue("text/plain"); mediaType0.Parameters.Add(new NameValueHeaderValue("name", "value")); var mediaType1 = mediaType0.CopyAsReadOnly(); Assert.NotSame(mediaType0, mediaType1); Assert.False(mediaType0.IsReadOnly); Assert.True(mediaType1.IsReadOnly); Assert.Same(mediaType0.MediaType, mediaType1.MediaType); Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters); Assert.False(mediaType0.Parameters.IsReadOnly); Assert.True(mediaType1.Parameters.IsReadOnly); Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count); Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Add(new NameValueHeaderValue("name"))); Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Remove(new NameValueHeaderValue("name"))); Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Clear()); var pair0 = mediaType0.Parameters.First(); var pair1 = mediaType1.Parameters.First(); Assert.NotSame(pair0, pair1); Assert.False(pair0.IsReadOnly); Assert.True(pair1.IsReadOnly); Assert.Same(pair0.Name, pair1.Name); Assert.Same(pair0.Value, pair1.Value); }