public void Equals_UseSameAndDifferentRanges_EqualOrNotEqualNoExceptions()
{
ContentRangeHeaderValue range1 = new ContentRangeHeaderValue(1, 2, 5);
ContentRangeHeaderValue range2 = new ContentRangeHeaderValue(1, 2);
ContentRangeHeaderValue range3 = new ContentRangeHeaderValue(5);
ContentRangeHeaderValue range4 = new ContentRangeHeaderValue(1, 2, 5);
range4.Unit = "BYTES";
ContentRangeHeaderValue range5 = new ContentRangeHeaderValue(1, 2, 5);
range5.Unit = "myunit";
ContentRangeHeaderValue range6 = new ContentRangeHeaderValue(1, 3, 5);
ContentRangeHeaderValue range7 = new ContentRangeHeaderValue(2, 2, 5);
ContentRangeHeaderValue range8 = new ContentRangeHeaderValue(1, 2, 6);
Assert.False(range1.Equals(null)); // "bytes 1-2/5 vs. <null>"
Assert.False(range1.Equals(range2)); // "bytes 1-2/5 vs. bytes 1-2/*"
Assert.False(range1.Equals(range3)); // "bytes 1-2/5 vs. bytes */5"
Assert.False(range2.Equals(range3)); // "bytes 1-2/* vs. bytes */5"
Assert.True(range1.Equals(range4)); // "bytes 1-2/5 vs. BYTES 1-2/5"
Assert.True(range4.Equals(range1)); // "BYTES 1-2/5 vs. bytes 1-2/5"
Assert.False(range1.Equals(range5)); // "bytes 1-2/5 vs. myunit 1-2/5"
Assert.False(range1.Equals(range6)); // "bytes 1-2/5 vs. bytes 1-3/5"
Assert.False(range1.Equals(range7)); // "bytes 1-2/5 vs. bytes 2-2/5"
Assert.False(range1.Equals(range8)); // "bytes 1-2/5 vs. bytes 1-2/6"
}