public virtual ATermList remove(ATerm el) { if (first == el) { return(next); } ATermList result = next.remove(el); if (result == next) { return(this); } return(result.insert(first)); }
public virtual void TestList() { factory = Tester.theFactory; ATermList list = (ATermList)factory.parse("[1,2,3]"); ATermList result = list.remove(factory.parse("2")); AssertTrue(result.Equals(factory.parse("[1,3]"))); list = (ATermList)factory.parse("[1,2,3]"); result = list.replace(factory.parse("99"), 1); AssertTrue(result.Equals(factory.parse("[1,99,3]"))); list = factory.makeList(); result = list.append(factory.parse("1")); AssertTrue(result.Equals(factory.parse("[1]"))); list = (ATermList)factory.parse("[]"); result = factory.makeList(); AssertTrue(result.Equals(list)); // Console.Out.WriteLine("pass: testList"); }