public void GetHashCode_UseSameAndDifferentValues_SameOrDifferentHashCodes()
{
StringWithQualityHeaderValue value1 = new StringWithQualityHeaderValue("t", 0.123);
StringWithQualityHeaderValue value2 = new StringWithQualityHeaderValue("t", 0.123);
StringWithQualityHeaderValue value3 = new StringWithQualityHeaderValue("T", 0.123);
StringWithQualityHeaderValue value4 = new StringWithQualityHeaderValue("t");
StringWithQualityHeaderValue value5 = new StringWithQualityHeaderValue("x", 0.123);
StringWithQualityHeaderValue value6 = new StringWithQualityHeaderValue("t", 0.5);
StringWithQualityHeaderValue value7 = new StringWithQualityHeaderValue("t", 0.1234);
StringWithQualityHeaderValue value8 = new StringWithQualityHeaderValue("T");
StringWithQualityHeaderValue value9 = new StringWithQualityHeaderValue("x");
Assert.Equal(value1.GetHashCode(), value2.GetHashCode());
Assert.Equal(value1.GetHashCode(), value3.GetHashCode());
Assert.NotEqual(value1.GetHashCode(), value4.GetHashCode());
Assert.NotEqual(value1.GetHashCode(), value5.GetHashCode());
Assert.NotEqual(value1.GetHashCode(), value6.GetHashCode());
Assert.NotEqual(value1.GetHashCode(), value7.GetHashCode());
Assert.Equal(value4.GetHashCode(), value8.GetHashCode());
Assert.NotEqual(value4.GetHashCode(), value9.GetHashCode());
}