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