package org.apache.commons.collections4.iterators; import java.util.Iterator; import org.junit.Test; /** * Tests the ArrayIterator to ensure that the next() method will actually * perform the iteration rather than the hasNext() method. * The code of this test was supplied by Mauricio S. Moura. * * @version $Id$ */ public class ArrayIteratorTest<E> extends AbstractIteratorTest<E> { protected String[] testArray = new String[]{ "One" , "Two" , "Three" }; public ArrayIteratorTest(final String testName) { super(testName); } @Override public ArrayIterator<E> makeEmptyIterator() { return new ArrayIterator<E>(new Object[0]); } @Override public ArrayIterator<E> makeObject() { return new ArrayIterator<E>(testArray); } @Override public boolean supportsRemove() { return false; } public void testIterator() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testIterator"); final Iterator<E> iter = makeObject(); for (final String testValue : testArray) { final E iterValue = iter.next(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2752,testValue); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2753,iterValue); } fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2754,!(iter.hasNext())); try { iter.next(); } catch (final Exception e) { fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2756,e.getClass(),2755,e.getClass().equals(new java.util.NoSuchElementException().getClass())); } fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } @Test(timeout = 1000) public void testIterator_add959() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testIterator_add959"); final Iterator<E> iter = makeObject(); for (final String testValue : testArray) { final E iterValue = iter.next(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2752,testValue); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2753,iterValue); } fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2754,!(iter.hasNext())); try { iter.next(); iter.next(); } catch (final Exception e) { fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2756,e.getClass(),2755,e.getClass().equals(new java.util.NoSuchElementException().getClass())); } fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } public void testNullArray() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testNullArray"); try { new ArrayIterator<java.lang.Object>(null); } catch (final NullPointerException e) { } fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } public void testReset() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset"); final ArrayIterator<E> it = makeObject(); it.next(); it.reset(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2758,it,2757,it.next()); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } @Test(timeout = 1000) public void testReset_add960() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_add960"); final ArrayIterator<E> it = makeObject(); it.next(); it.next(); it.reset(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2758,it,2757,it.next()); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } @Test(timeout = 1000) public void testReset_add961() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_add961"); final ArrayIterator<E> it = makeObject(); it.next(); it.reset(); it.reset(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2758,it,2757,it.next()); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } @Test(timeout = 1000) public void testReset_remove723() { fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_remove723"); final ArrayIterator<E> it = makeObject(); it.next(); fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2758,it,2757,it.next()); fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread()); } }