public void Equals_UseContentDispositionWithAndWithoutParameters_EqualOrNotEqualNoExceptions() { var contentDisposition1 = new ContentDispositionHeaderValue("inline"); var contentDisposition2 = new ContentDispositionHeaderValue("inline"); contentDisposition2.Name = "myName"; var contentDisposition3 = new ContentDispositionHeaderValue("inline"); contentDisposition3.Parameters.Add(new NameValueHeaderValue("name", "value")); var contentDisposition4 = new ContentDispositionHeaderValue("INLINE"); var contentDisposition5 = new ContentDispositionHeaderValue("INLINE"); contentDisposition5.Parameters.Add(new NameValueHeaderValue("NAME", "MYNAME")); var contentDisposition6 = new ContentDispositionHeaderValue("INLINE"); contentDisposition6.Parameters.Add(new NameValueHeaderValue("NAME", "MYNAME")); contentDisposition6.Parameters.Add(new NameValueHeaderValue("custom", "value")); var contentDisposition7 = new ContentDispositionHeaderValue("attachment"); Assert.False(contentDisposition1.Equals(contentDisposition2), "No params vs. name."); Assert.False(contentDisposition2.Equals(contentDisposition1), "name vs. no params."); Assert.False(contentDisposition1.Equals(null), "No params vs. <null>."); Assert.False(contentDisposition1 !.Equals(contentDisposition3), "No params vs. custom param."); Assert.False(contentDisposition2.Equals(contentDisposition3), "name vs. custom param."); Assert.True(contentDisposition1.Equals(contentDisposition4), "Different casing."); Assert.True(contentDisposition2.Equals(contentDisposition5), "Different casing in name."); Assert.False(contentDisposition5.Equals(contentDisposition6), "name vs. custom param."); Assert.False(contentDisposition1.Equals(contentDisposition7), "inline vs. text/other."); }