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()); }