public void EqualsReturnsTrueIfMediaTypesDifferOnlyByQuality(MediaTypeWithQualityHeaderValue mediaType1) { MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue(mediaType1.MediaType); Assert.Equal(mediaType2, mediaType1, comparer); }
public void Equals1ReturnsTrueIfMediaTypesDifferOnlyByCase() { MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType1 = new MediaTypeHeaderValue("text/xml"); MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEXT/xml"); Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType2 = new MediaTypeHeaderValue("TEXT/*"); Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("*/*"); mediaType2 = new MediaTypeHeaderValue("*/*"); Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType1.CharSet = "someCharset"; mediaType2 = new MediaTypeHeaderValue("TEXT/*"); mediaType2.CharSet = "SOMECHARSET"; Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("application/*"); mediaType1.CharSet = ""; mediaType2 = new MediaTypeHeaderValue("application/*"); mediaType2.CharSet = null; Assert.Equal(mediaType1, mediaType2, comparer); }
public void EqualsReturnsFalseIfMediaType1IsSuperset() { string[] parameters = new string[] { ";name=value", ";q=1.0", ";version=1", }; MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; foreach (string parameter in parameters) { MediaTypeHeaderValue mediaType1 = MediaTypeHeaderValue.Parse("text/xml" + parameter); MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEXT/xml"); Assert.NotEqual(mediaType1, mediaType2, comparer); mediaType1 = MediaTypeHeaderValue.Parse("text/*" + parameter); mediaType2 = new MediaTypeHeaderValue("TEXT/*"); Assert.NotEqual(mediaType1, mediaType2, comparer); mediaType1 = MediaTypeHeaderValue.Parse("*/*" + parameter); mediaType2 = new MediaTypeHeaderValue("*/*"); Assert.NotEqual(mediaType1, mediaType2, comparer); } }
public void EqualityComparerReturnsMediaTypeHeadeValueEqualityComparer() { MediaTypeHeaderValueEqualityComparer comparer1 = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValueEqualityComparer comparer2 = MediaTypeHeaderValueEqualityComparer.EqualityComparer; Assert.NotNull(comparer1); Assert.Same(comparer1, comparer2); }
public void EqualsReturnsFalseIfMediaTypesDifferByMoreThanCase() { MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType1 = new MediaTypeHeaderValue("text/xml"); MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEST/xml"); Assert.NotEqual(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType1.CharSet = "someCharset"; mediaType2 = new MediaTypeHeaderValue("TEXT/*"); mediaType2.CharSet = "SOMEOTHERCHARSET"; Assert.NotEqual(mediaType1, mediaType2, comparer); }
public void GetHashCodeReturnsDifferentHashCodeForDifferentMediaType() { MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType1 = new MediaTypeHeaderValue("text/*"); MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEXT/xml"); Assert.NotEqual(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); mediaType1 = new MediaTypeHeaderValue("application/*"); mediaType2 = new MediaTypeHeaderValue("TEXT/*"); Assert.NotEqual(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); mediaType1 = new MediaTypeHeaderValue("application/*"); mediaType2 = new MediaTypeHeaderValue("*/*"); Assert.NotEqual(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); }
public void GetHashCodeReturnsSameHashCodeRegardlessOfCase() { MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType1 = new MediaTypeHeaderValue("text/xml"); MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEXT/xml"); Assert.Equal(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType2 = new MediaTypeHeaderValue("TEXT/*"); Assert.Equal(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); mediaType1 = new MediaTypeHeaderValue("*/*"); mediaType2 = new MediaTypeHeaderValue("*/*"); Assert.Equal(comparer.GetHashCode(mediaType1), comparer.GetHashCode(mediaType2)); }
public void EqualsReturnsTrueIfMediaType1IsSubset() { string[] parameters = new string[] { ";name=value", ";q=1.0", ";version=1", }; MediaTypeHeaderValueEqualityComparer comparer = MediaTypeHeaderValueEqualityComparer.EqualityComparer; MediaTypeHeaderValue mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType1.CharSet = "someCharset"; MediaTypeHeaderValue mediaType2 = new MediaTypeHeaderValue("TEXT/*"); mediaType2.CharSet = "SOMECHARSET"; Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("application/*"); mediaType1.CharSet = ""; mediaType2 = new MediaTypeHeaderValue("application/*"); mediaType2.CharSet = null; Assert.Equal(mediaType1, mediaType2, comparer); foreach (string parameter in parameters) { mediaType1 = new MediaTypeHeaderValue("text/xml"); mediaType2 = MediaTypeHeaderValue.Parse("TEXT/xml" + parameter); Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("text/*"); mediaType2 = MediaTypeHeaderValue.Parse("TEXT/*" + parameter); Assert.Equal(mediaType1, mediaType2, comparer); mediaType1 = new MediaTypeHeaderValue("*/*"); mediaType2 = MediaTypeHeaderValue.Parse("*/*" + parameter); Assert.Equal(mediaType1, mediaType2, comparer); } }