package org.apache.commons.collections4.iterators;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.junit.Test;
/**
* Tests the UniqueFilterIterator class.
*
* @version $Id$
*/
public class UniqueFilterIteratorTest<E> extends AbstractIteratorTest<E> {
protected String[] testArray = new String[]{ "One" , "Two" , "Three" , "Four" , "Five" , "Six" };
protected List<E> list1 = null;
public UniqueFilterIteratorTest(final String testName) {
super(testName);
}
@Override
@SuppressWarnings(value = "unchecked")
public void setUp() {
list1 = new ArrayList<E>();
list1.add(((E)("One")));
list1.add(((E)("Two")));
list1.add(((E)("Three")));
list1.add(((E)("Two")));
list1.add(((E)("One")));
list1.add(((E)("Four")));
list1.add(((E)("Five")));
list1.add(((E)("Five")));
list1.add(((E)("Six")));
list1.add(((E)("Five")));
}
@Override
public UniqueFilterIterator<E> makeEmptyIterator() {
final ArrayList<E> list = new ArrayList<E>();
return new UniqueFilterIterator<E>(list.iterator());
}
@Override
public UniqueFilterIterator<E> makeObject() {
final Iterator<E> i = list1.iterator();
return new UniqueFilterIterator<E>(i);
}
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(),2763,testValue);
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2764,iterValue);
}
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),4381,!(iter.hasNext()));
try {
iter.next();
} catch (final Exception e) {
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2767,e.getClass(),2766,e.getClass().equals(new java.util.NoSuchElementException().getClass()));
}
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
@Test(timeout = 1000)
public void testIterator_add1213() {
fr.inria.diversify.testamplification.logger.Logger.writeTestStart(Thread.currentThread(),this, "testIterator_add1213");
final Iterator<E> iter = makeObject();
for (final String testValue : testArray) {
final E iterValue = iter.next();
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2763,testValue);
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2764,iterValue);
}
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),4381,!(iter.hasNext()));
try {
iter.next();
iter.next();
} catch (final Exception e) {
fr.inria.diversify.testamplification.logger.Logger.logAssertArgument(Thread.currentThread(),2767,e.getClass(),2766,e.getClass().equals(new java.util.NoSuchElementException().getClass()));
}
fr.inria.diversify.testamplification.logger.Logger.writeTestFinish(Thread.currentThread());
}
}