package org.apache.commons.collections4.iterators;
import java.util.Iterator;
import org.junit.Test;
/**
* Tests the ObjectArrayIterator.
*
* @version $Id$
*/
public class ObjectArrayIteratorTest<E> extends AbstractIteratorTest<E> {
protected String[] testArray = new String[]{ "One" , "Two" , "Three" };
public ObjectArrayIteratorTest(final String testName) {
super(testName);
}
@Override
@SuppressWarnings(value = "unchecked")
public ObjectArrayIterator<E> makeEmptyIterator() {
return new ObjectArrayIterator<E>(((E[])(new Object[0])));
}
@Override
@SuppressWarnings(value = "unchecked")
public ObjectArrayIterator<E> makeObject() {
return new ObjectArrayIterator<E>(((E[])(testArray)));
}
@SuppressWarnings(value = "unchecked")
public ObjectArrayIterator<E> makeArrayIterator() {
return new ObjectArrayIterator<E>();
}
public ObjectArrayIterator<E> makeArrayIterator(final E[] array) {
return new ObjectArrayIterator<E>(array);
}
public ObjectArrayIterator<E> makeArrayIterator(final E[] array, final int index) {
return new ObjectArrayIterator<E>(array , index);
}
public ObjectArrayIterator<E> makeArrayIterator(final E[] array, final int start, final int end) {
return new ObjectArrayIterator<E>(array , start , end);
}
@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(),3993,testValue);
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3994,iterValue);
}
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3995,!(iter.hasNext()));
try {
iter.next();
} catch (final Exception e) {
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3997,e.getClass(),3996,e.getClass().equals(new java.util.NoSuchElementException().getClass()));
}
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@Test(timeout = 1000)
public void testIterator_add1115() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testIterator_add1115");
final Iterator<E> iter = makeObject();
for (final String testValue : testArray) {
final E iterValue = iter.next();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3993,testValue);
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3994,iterValue);
}
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3995,!(iter.hasNext()));
try {
iter.next();
iter.next();
} catch (final Exception e) {
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3997,e.getClass(),3996,e.getClass().equals(new java.util.NoSuchElementException().getClass()));
}
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@Test(timeout = 1000)
public void testNullArray() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testNullArray");
try {
makeArrayIterator(null);
makeArrayIterator(null);
} catch (final NullPointerException e) {
}
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@SuppressWarnings(value = "unchecked")
public void testReset() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset");
final ObjectArrayIterator<E> it = makeArrayIterator(((E[])(testArray)));
it.next();
it.reset();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3999,it,3998,it.next());
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@SuppressWarnings(value = "unchecked")
@Test(timeout = 1000)
public void testReset_add1117() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_add1117");
final ObjectArrayIterator<E> it = makeArrayIterator(((E[])(testArray)));
it.next();
it.next();
it.reset();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3999,it,3998,it.next());
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@SuppressWarnings(value = "unchecked")
@Test(timeout = 1000)
public void testReset_add1118() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_add1118");
final ObjectArrayIterator<E> it = makeArrayIterator(((E[])(testArray)));
it.next();
it.reset();
it.reset();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3999,it,3998,it.next());
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@SuppressWarnings(value = "unchecked")
public void testReset_literalMutation1096() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_literalMutation1096");
final ObjectArrayIterator<E> it = makeArrayIterator(((E[])(testArray)));
it.next();
it.reset();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3999,it,3998,it.next());
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@SuppressWarnings(value = "unchecked")
@Test(timeout = 1000)
public void testReset_remove835() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testReset_remove835");
final ObjectArrayIterator<E> it = makeArrayIterator(((E[])(testArray)));
it.next();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),3999,it,3998,it.next());
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
}