package org.archive.util.iterator;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Comparator;
import junit.framework.TestCase;
public class SortedCompositeIteratorTest extends TestCase {
public void testHasNext() throws FileNotFoundException, IOException {
File a = File.createTempFile("filea", null);
File b = File.createTempFile("fileb", null);
PrintWriter apw = new PrintWriter(a);
PrintWriter bpw = new PrintWriter(b);
apw.println("1");
apw.println("3");
bpw.println("2");
bpw.println("4");
apw.close();
bpw.close();
BufferedReader abr = new BufferedReader(new FileReader(a));
BufferedReader bbr = new BufferedReader(new FileReader(b));
SortedCompositeIterator<String> sci = new SortedCompositeIterator<String>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
sci.addIterator(AbstractPeekableIterator.wrapReader(abr));
sci.addIterator(AbstractPeekableIterator.wrapReader(bbr));
assertTrue(sci.hasNext());
assertEquals("1",sci.next());
assertTrue(sci.hasNext());
assertEquals("2",sci.next());
assertTrue(sci.hasNext());
assertEquals("3",sci.next());
assertTrue(sci.hasNext());
assertEquals("4",sci.next());
a.delete();
b.delete();
}
}