41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
package oving5.debugging;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
public class StringMergingIteratorProgram {
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
Iterator<String> one = List.of("a", "b").iterator();
|
|
Iterator<String> two = List.of("c", "d", "e").iterator();
|
|
|
|
StringMergingIterator mergeIterator = new StringMergingIterator(one, two);
|
|
|
|
List<String> values = new ArrayList<>();
|
|
|
|
while (mergeIterator.hasNext()) {
|
|
values.add(mergeIterator.next());
|
|
}
|
|
|
|
List<String> expectedOutput = List.of("a", "c", "b", "d", "e");
|
|
|
|
if (values.size() != expectedOutput.size()) {
|
|
throw new Exception(
|
|
"The merged output did not contain the expected number of values. Try using "
|
|
+ "the VS Code debugger to see the difference between the lists");
|
|
}
|
|
|
|
for (int i = 0; i < expectedOutput.size(); i++) {
|
|
if (!values.get(i).equals(expectedOutput.get(i))) {
|
|
throw new Exception(
|
|
"The iterator did not correctly merge the output. Try using the VS Code "
|
|
+ "debugger to see the difference between the lists");
|
|
}
|
|
}
|
|
|
|
System.out.println(
|
|
"Success! StringMergingIterator correctly merged the output of the two lists");
|
|
}
|
|
}
|