@GwtCompatible public abstract class ListIteratorTester<E> extends Object
IteratorTester
for testing a
ListIterator
against a known good reference implementation. As with
IteratorTester
, a concrete subclass must provide target iterators on
demand. It also requires three additional constructor parameters:
elementsToInsert
, the elements to be passed to set()
and
add()
calls; features
, the features supported by the
iterator; and expectedElements
, the elements the iterator should
return in order.
The items in elementsToInsert
will be repeated if steps
is
larger than the number of provided elements.
Modifier and Type | Class and Description |
---|---|
static class |
AbstractIteratorTester.KnownOrder |
Modifier | Constructor and Description |
---|---|
protected |
ListIteratorTester(int steps,
Iterable<E> elementsToInsert,
Iterable<? extends IteratorFeature> features,
Iterable<E> expectedElements,
int startIndex) |
Modifier and Type | Method and Description |
---|---|
protected Iterable<? extends com.google.common.collect.testing.AbstractIteratorTester.Stimulus<E,? super ListIterator<E>>> |
getStimulusValues()
I'd like to make this a parameter to the constructor, but I can't because
the stimulus instances refer to
this . |
protected abstract ListIterator<E> |
newTargetIterator()
Returns a new target iterator each time it's called.
|
void |
test()
Executes the test.
|
void |
testForEachRemaining() |
protected void |
verify(List<E> elements)
Override this to verify anything after running a list of Stimuli.
|
protected final Iterable<? extends com.google.common.collect.testing.AbstractIteratorTester.Stimulus<E,? super ListIterator<E>>> getStimulusValues()
this
.protected abstract ListIterator<E> newTargetIterator()
protected void verify(List<E> elements)
For example, verify that calls to remove() actually removed the correct elements.
elements
- the expected elements passed to the constructor, as mutated
by remove()
, set()
, and add()
callspublic final void test()
public void testForEachRemaining()
Copyright © 2010–2017. All rights reserved.