TEST PLAN: SortedListIterativeLinked: --add item --add item to end of list --add item to head of list --delete item --delete at head of list --delete at end of list --delete item not on list --find item --find item at head of list --find item at end of list --find item not on list --get first item --get last item --get a middle item --get an item out of range SortedListIterativeLinked: --check the same as above Tested ListVectorBased with a very similar plan. UNIX SCRIPT TEST LOG: Script started on Sun 30 Sep 2001 03:03:00 AM HST uhunix2:/home/27/ztomasze/java% java2 TestList **** List Interface Tester **** All arguments are integers; can be any token, for example: command: a 1 poi command: a 1 papayas command: a 3 bananas command: r 2 ------------------------------- a - add string at g - get the string at the position indicated r - delete the string at s - get size of this vector or report empty if size = 0 e, x, empty line - exit command: s The list is empty The list is empty. command: a 0 1 C Position 0 is invalid (out of range) The list is empty. command: a 1 C 1: C command: a 2 d 1: C 2: d command: a 4 f Position 4 is invalid (out of range) 1: C 2: d command: a 3 f 1: C 2: d 3: f command: a 3 e 1: C 2: d 3: e 4: f command: a 1 a 1: a 2: C 3: d 4: e 5: f command: s 5 things are on the list. 1: a 2: C 3: d 4: e 5: f command: g 1 1 has a 1: a 2: C 3: d 4: e 5: f command: g 5 5 has f 1: a 2: C 3: d 4: e 5: f command: g 2 2 has C 1: a 2: C 3: d 4: e 5: f command: g 6 Position 6 is invalid (out of range) 1: a 2: C 3: d 4: e 5: f command: g -1 Position -1 is invalid (out of range) 1: a 2: C 3: d 4: e 5: f command: r 3 1: a 2: C 3: e 4: f command: r 4 1: a 2: C 3: e command: r 1 1: C 2: e command: r 3 Position 3 is invalid (out of range) 1: C 2: e command: r 0 Position 0 is invalid (out of range) 1: C 2: e command: s 2 things are on the list. 1: C 2: e command: x 1: C 2: e uhunix2:/home/27/ztomasze/java% uhunix2:/home/27/ztomasze/java% java2 SortedLink          TestSortedList === Sorted List Tester (list of TimeOfDay objects) === All arguments to commands are integers: a - add new time instance to the list d - delete the time indicated f - find position of the time indicated g - get the time at the position indicated e, x, or empty line - exit The list is empty. command: a 12,00 1: [12:00] command: a 11,00 1: [11:00] 2: [12:00] command: a 13,00 1: [11:00] 2: [12:00] 3: [13:00] command: a 12,15 1: [11:00] 2: [12:00] 3: [12:15] 4: [13:00] command: a 12,16 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: g 1 1 has object [11:00] 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: g 5 5 has object [13:00] 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: g 6 Position 6 is invalid (out of range) 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: g 0 Position 0 is invalid (out of range) 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: g 4 4 has object [12:16] 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: f 11,00 [11:00] is located at 1 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: f 12,15 [12:15] is located at 3 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: f 13,00 [13:00] is located at 5 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: f 14,00 [14:00] is not in the list. 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: f 2,00 [02:00] is not in the list. 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: r 13,00 Command not recognized. Choose one of the letters: a - add new time instance to the list d - delete the time indicated f - find position of the time indicated g - get the time at the position indicated e, x, or empty line - exit 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] 5: [13:00] command: d 13,00 1: [11:00] 2: [12:00] 3: [12:15] 4: [12:16] command: d 11,00 1: [12:00] 2: [12:15] 3: [12:16] command: d 12,15 1: [12:00] 2: [12:16] command: d 2,00 [02:00] wasn't found. 1: [12:00] 2: [12:16] command: d x uhunix2:/home/27/ztomasze/java% pico SortedList.java [--pico buffer garbage deleted for clarity--] uhunix2:/home/27/ztomasze/java% javac2 TestSortedList.java uhunix2:/home/27/ztomasze/java% --now testing iterative-- --now: Command not found uhunix2:/home/27/ztomasze/java% jva  ava2 TEst   estSortedList === Sorted List Tester (list of TimeOfDay objects) === All arguments to commands are integers: a - add new time instance to the list d - delete the time indicated f - find position of the time indicated g - get the time at the position indicated e, x, or empty line - exit The list is empty. command: a 12,00 1: [12:00] command: a 8,00 1: [08:00] 2: [12:00] command: a 13,00 1: [08:00] 2: [12:00] 3: [13:00] command: a 10,00 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] command: a 13,01 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: g 0 3,00 3 has object [12:00] 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: g 8 5 5 has object [13:01] 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: g 1 1 has object [08:00] 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: g 6 Position 6 is invalid (out of range) 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: g -2 Position -2 is invalid (out of range) 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: f 8,00 [08:00] is located at 1 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: f 13,01 [13:01] is located at 5 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: f 13,00 [13:00] is located at 4 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:00] 5: [13:01] command: d 13,00 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:01] command: f 13    14,00     g 5 Position 5 is invalid (out of range) 1: [08:00] 2: [10:00] 3: [12:00] 4: [13:01] command: d 8,00 1: [10:00] 2: [12:00] 3: [13:01] command: d 12  13,01 1: [10:00] 2: [12:00] command: d 11,00 [11:00] wasn't found. 1: [10:00] 2: [12:00] command: f 13,00 [13:00] is not in the list. 1: [10:00] 2: [12:00] command: x uhunix2:/home/27/ztomasze/java% ^D script done on Sun 30 Sep 2001 03:17:38 AM HST