package iterators; import org.junit.*; import static org.junit.Assert.*; import org.styloot.hobo.*; import org.styloot.hobo.iterators.*; import java.util.*; public class TestCombinedIterator { Vector<Vector<Item>> items = new Vector<Vector<Item>>(); @Before public void setUp() { for (int j=0;j<3;j++) { items.add(new Vector<Item>()); } for (int j=0;j<3;j++) { for (int i=0;i<10;i++) { Vector<String> features = new Vector<String>(); features.add("foo"); items.get(j).add( new Item("id" + i+"_" + j, "/baz", features, 10-i+j, null, 5) ); } } } @Test public void testIterator() { Vector<Iterator<Item>> iters = new Vector<Iterator<Item>>(); for (int j=0;j<3;j++) { iters.add(items.get(j).iterator()); } Iterator<Item> iter = new CombinedIterator(iters); int itemsFound = 0; int lastQuality = Integer.MAX_VALUE; while (iter.hasNext()) { Item item = iter.next(); assertTrue( item.quality <= lastQuality ); lastQuality = item.quality; itemsFound += 1; } assertEquals(itemsFound, 30); } }