/** * Set up instance variables required by this test case. */ public void setUp() { array = new String[] { "a", "b", "c" }; initIterator(); }
private void initIterator() { iterator = (FilterIterator) makeFullIterator(); }
/** * Returns an array with elements wrapped in a pass-through * FilterIterator * * @return */ public Iterator makeFullIterator() { array = new String[] { "a", "b", "c" }; list = new ArrayList(Arrays.asList(array)); return makePassThroughFilter(list.iterator()); }
private void verifyElementsInPredicate(final String[] elements) { Predicate pred = new Predicate() { public boolean evaluate(Object x) { for (int i = 0; i < elements.length; i++) if (elements[i].equals(x)) return true; return false; } }; initIterator(); iterator.setPredicate(pred); for (int i = 0; i < elements.length; i++) { String s = (String)iterator.next(); assertEquals(elements[i], s); assertTrue(i == elements.length - 1 ? !iterator.hasNext() : iterator.hasNext()); } verifyNoMoreElements(); // test removal initIterator(); iterator.setPredicate(pred); if (iterator.hasNext()) { Object last = iterator.next(); iterator.remove(); assertTrue("Base of FilterIterator still contains removed element.", !list.contains(last)); } }
private void verifyNoMoreElements() { assertTrue(!iterator.hasNext()); try { iterator.next(); fail("NoSuchElementException expected"); } catch (NoSuchElementException e) { // success } }
/** * Test that when the iterator is changed, the hasNext method returns the * correct response for the new iterator. */ public void testSetIterator() { Iterator iter1 = Collections.singleton(new Object()).iterator(); Iterator iter2 = Collections.EMPTY_LIST.iterator(); FilterIterator filterIterator = new FilterIterator(iter1); filterIterator.setPredicate(TruePredicate.getInstance()); // this iterator has elements assertEquals(true, filterIterator.hasNext()); // this iterator has no elements filterIterator.setIterator(iter2); assertEquals(false, filterIterator.hasNext()); }
public void testReturnValues() { verifyElementsInPredicate(new String[0]); verifyElementsInPredicate(new String[] { "a" }); verifyElementsInPredicate(new String[] { "b" }); verifyElementsInPredicate(new String[] { "c" }); verifyElementsInPredicate(new String[] { "a", "b" }); verifyElementsInPredicate(new String[] { "a", "c" }); verifyElementsInPredicate(new String[] { "b", "c" }); verifyElementsInPredicate(new String[] { "a", "b", "c" }); }
public void testRepeatedNext() { for (int i = 0; i < array.length; i++) iterator.next(); verifyNoMoreElements(); }
/** * Returns an full iterator wrapped in a * FilterIterator that blocks all the elements * * @return "empty" FilterIterator */ public Iterator makeEmptyIterator() { return makeBlockAllFilter(new ArrayIterator(array)); }
public void testRepeatedHasNext() { for (int i = 0; i <= array.length; i++) { assertTrue(iterator.hasNext()); } }
public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(TestArrayIterator.suite()); suite.addTest(TestArrayIterator2.suite()); suite.addTest(TestArrayListIterator.suite()); suite.addTest(TestArrayListIterator2.suite()); suite.addTest(TestObjectArrayIterator.suite()); suite.addTest(TestObjectArrayListIterator.suite()); suite.addTest(TestObjectArrayListIterator2.suite()); suite.addTest(TestCollatingIterator.suite()); suite.addTest(TestFilterIterator.suite()); suite.addTest(TestFilterListIterator.suite()); suite.addTest(TestIteratorChain.suite()); suite.addTest(TestListIteratorWrapper.suite()); suite.addTest(TestLoopingIterator.suite()); suite.addTest(TestLoopingListIterator.suite()); suite.addTest(TestReverseListIterator.suite()); suite.addTest(TestSingletonIterator.suite()); suite.addTest(TestSingletonIterator2.suite()); suite.addTest(TestSingletonListIterator.suite()); suite.addTest(TestObjectGraphIterator.suite()); suite.addTest(TestUniqueFilterIterator.suite()); suite.addTest(TestUnmodifiableIterator.suite()); suite.addTest(TestUnmodifiableListIterator.suite()); suite.addTest(TestUnmodifiableMapIterator.suite()); suite.addTest(TestUnmodifiableOrderedMapIterator.suite()); return suite; }
/** * Test that when the predicate is changed, the hasNext method returns the * correct response for the new predicate. */ public void testSetPredicate() { Iterator iter = Collections.singleton(null).iterator(); FilterIterator filterIterator = new FilterIterator(iter); filterIterator.setPredicate(TruePredicate.getInstance()); // this predicate matches assertEquals(true, filterIterator.hasNext()); // this predicate doesn't match filterIterator.setPredicate(NotNullPredicate.getInstance()); assertEquals(false, filterIterator.hasNext()); }