import plp.collection.*; public class TestCList { public static void main(String [] args) { CList cl = new CList(); Position [] pos = new Position[3 * args.length]; System.out.println("Testing CList with 3 times the main's arguments"); for (int j = 0; j < 3; j++) { for (int i = 0; i < args.length; ++i) { cl.insert(args[i]); pos[j * args.length + i] = cl.getPosition(); } } System.out.println(cl); System.out.println("Printing the CList using position"); cl.goFirst(); for (int i = 0; i < 3 * args.length; ++i) { cl.goTo(pos[i]); cl.backward(); System.out.println(cl.get()); } System.out.println("Removing elements in position multiple of 3"); cl.goFirst(); for (int i = 0; ! cl.atEnd(); i++) { cl.remove(); cl.forward(); cl.forward(); } System.out.println(cl); System.out.println("Giving validity of each original position"); for (int i = 0; i < 3 * args.length; ++i) { System.out.println(pos[i].isValid()); } System.out.println("Testing error !"); System.out.println("at End ? = " + cl.atEnd()); cl.forward(); // produce error ! } } /* Testing CList with 3 times the main's arguments cursor = (plp.collection.Cell@87ba3b0b data : c) (plp.collection.Cell@87fa3b0b data : a) (plp.collection.Cell@87c23b0b data : b) (plp.collection.Cell@87ca3b0b data : c) (plp.collection.Cell@87d23b0b data : a) (plp.collection.Cell@87da3b0b data : b) (plp.collection.Cell@87a23b0b data : c) (plp.collection.Cell@87aa3b0b data : a) (plp.collection.Cell@87b23b0b data : b) (plp.collection.Cell@87ba3b0b data : c) Printing the CList using position a b c a b c a b c Removing elements in position multiple of 3 cursor = (plp.collection.Cell@87ba3b0b data : c) (plp.collection.Cell@87c23b0b data : b) (plp.collection.Cell@87ca3b0b data : c) (plp.collection.Cell@87da3b0b data : b) (plp.collection.Cell@87a23b0b data : c) (plp.collection.Cell@87b23b0b data : b) (plp.collection.Cell@87ba3b0b data : c) Giving validity of each original position false true true false true true false true true Testing error ! at End ? = true Exception in thread "main" java.lang.Error: Invalid position at plp.collection.CList.checkNotEnd(Compiled Code) at plp.collection.CList.forward(Compiled Code) at TestCList.main(Compiled Code) */