package org.archive.util.iterator; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.PrintWriter; import java.util.Comparator; import junit.framework.TestCase; public class SortedCompositeIteratorTest extends TestCase { public void testHasNext() throws FileNotFoundException { long t = 210000; long c = 134; float f = (float)c / (float)t; System.err.format("F(%f)\n",f); File a = new File("/tmp/a"); File b = new File("/tmp/b"); if(a.isFile()) { a.delete(); } if(b.isFile()) { b.delete(); } 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>() { 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(); } }