public override string ToString() { StringBuilder builder = new StringBuilder(); builder.Append("["); builder.Append(Machine.ToString(this.head)); object rest = this.tail; while (rest is List) { builder.Append(","); List list = (List)rest; builder.Append(Machine.ToString(list.Head)); rest = list.tail; } if (rest != null) { builder.Append("|"); builder.Append(Machine.ToString(rest)); } builder.Append("]"); return builder.ToString(); }
public void SimpleListWithTwoElementsAndTailToString() { List list = new List(1, new List(2, 3)); Assert.AreEqual("[1,2|3]", list.ToString()); }