public void TestSubtractOfRangeSpanningMultipleRanges()
{
IntervalSet s = IntervalSet.Of(10, 20);
s.Add(30, 40);
s.Add(50, 60); // s has 3 ranges now: 10..20, 30..40, 50..60
IntervalSet s2 = IntervalSet.Of(5, 55); // covers one and touches 2nd range
String expecting = "{56..60}";
String result = (s.Subtract(s2)).ToString();
Assert.AreEqual(expecting, result);
IntervalSet s3 = IntervalSet.Of(15, 55); // touches both
expecting = "{10..14, 56..60}";
result = (s.Subtract(s3)).ToString();
Assert.AreEqual(expecting, result);
}