public virtual string ToString(bool elemAreChar) { StringBuilder buf = new StringBuilder(); if (this.intervals == null || this.intervals.Count == 0) { return "{}"; } if (this.Count > 1) { buf.Append("{"); } bool first = true; foreach (Interval I in intervals) { if (!first) buf.Append(", "); first = false; int a = I.a; int b = I.b; if (a == b) { if (a == TokenConstants.EOF) { buf.Append("<EOF>"); } else { if (elemAreChar) { buf.Append("'").Append((char)a).Append("'"); } else { buf.Append(a); } } } else { if (elemAreChar) { buf.Append("'").Append((char)a).Append("'..'").Append((char)b).Append("'"); } else { buf.Append(a).Append("..").Append(b); } } } if (this.Count > 1) { buf.Append("}"); } return buf.ToString(); }
public void TestIsolatedElements() { IntervalSet s = new IntervalSet(); s.Add(1); s.Add('z'); s.Add('\uFFF0'); String expecting = "{1, 122, 65520}"; Assert.AreEqual(s.ToString(), expecting); }