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"
        }