/* Java application having as its purpose to test the methods of ** the RecursiveListUtilsInt class and thus, indirectly, those classes ** that implement the RecursiveList interface. */ public class RecListUtilsIntTester { public static void main(String[] args) { RecursiveListUtilsInt rlu = new RecursiveListUtilsInt(); RecursiveList factory = RecursiveListEmpty.emptyListFactory(); //RecursiveList factory = new RecursiveListEmpty(); int[] b1 = new int[] { 4, 17, -2, 0, 9, 11 }; int[] b2 = new int[] { 5, 8, -3, 25, 3 }; RecursiveList list1 = rlu.listify(b1); // , factory); System.out.print("b1[]: " ); printAry(b1); System.out.println(); System.out.println("List #1: " + list1); System.out.println("Array length is " + b1.length + "; list length is " + rlu.lengthOf(list1)); RecursiveList list2 = rlu.listify(b2); // , factory); System.out.print("b2[]: " ); printAry(b2); System.out.println(); System.out.println("List #2: " + list2); System.out.println("Array length is " + b2.length + "; list length is " + rlu.lengthOf(list2)); //rlu.resetCounter(); RecursiveList list3 = rlu.append(list1,list2); System.out.println("Result of appending list1 with list2: " + list3); //System.out.println("Counter = " + rlu.getCounter()); int k = list2.headOf(); // to make sure types are OK //rlu.resetCounter(); RecursiveList list4 = rlu.reverse(list3); System.out.println("Result of reversing list3 is " + list4); //System.out.println("Counter = " + rlu.getCounter()); //rlu.resetCounter(); RecursiveList list5 = rlu.reverse2(list3); System.out.println("Result of reversing list3 is " + list5); //System.out.println("Counter = " + rlu.getCounter()); //RecursiveList factory2 = RecursiveListEmpty.emptyListFactory(); //String[] sAry = new String[] { "glorp", "horta", "spock", "grisgrop" }; //RecursiveList strList = rlu.listify(sAry, factory2); //System.out.print("sAry[]: " ); //printAry(sAry); System.out.println(); //System.out.println("strList: " + strList); //System.out.println("sAry length is " + sAry.length + // "; list length is " + rlu.lengthOf(strList)); //RecursiveList revStrList = rlu.reverse2(strList); //System.out.println("revStrList: " + revStrList); } private static void printAry(int[] ary) { for (int r : ary) { System.out.print(r + " "); } } }