Class AbstractContainerTester<C,E extends @Nullable Object>
java.lang.Object
junit.framework.Assert
junit.framework.TestCase
com.google.common.collect.testing.AbstractTester<OneSizeTestContainerGenerator<C,E>>
com.google.common.collect.testing.AbstractContainerTester<C,E>
- Type Parameters:
C
- the type of the containerE
- the type of the container's contents
- All Implemented Interfaces:
junit.framework.Test
- Direct Known Subclasses:
AbstractCollectionTester
,AbstractMapTester
,AbstractMultimapTester
@GwtCompatible
@NullMarked
public abstract class AbstractContainerTester<C,E extends @Nullable Object>
extends AbstractTester<OneSizeTestContainerGenerator<C,E>>
Base class for testers of classes (including
Collection
and Map
)
that contain elements.- Author:
- George van den Driessche
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
AbstractContainerTester.ArrayWithDuplicate<E extends @Nullable Object>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Collection
<E> protected AbstractContainerTester.ArrayWithDuplicate
<E> protected MinimalCollection
<E> protected E[]
protected E[]
protected final E
e0()
protected final E
e1()
protected final E
e2()
protected final E
e3()
protected final E
e4()
protected MinimalCollection
<E> protected final void
expectAdded
(int index, E... elements) protected final void
expectAdded
(int index, Collection<E> elements) protected final void
expectAdded
(E... elements) Asserts that the collection under test contains exactly the elements it was initialized with plus the given elements, according toexpectContents(java.util.Collection)
.protected final void
expectContents
(E... elements) protected void
expectContents
(Collection<E> expected) Asserts that the collection under test contains exactly the given elements, respecting cardinality but not order.protected void
expectMissing
(E... elements) protected void
protected int
protected int
Returns the sample elements as ordered byTestContainerGenerator.order(List)
.protected Collection
<E> protected Collection
<E> getSampleElements
(int howMany) protected C
Replaces the existing container under test with a new container created by the subject generator.protected C
resetContainer
(C newValue) Replaces the existing container under test with a new container.void
setUp()
Methods inherited from class com.google.common.collect.testing.AbstractTester
assertNull, getName, getSubjectGenerator, getTestMethodName, init, init, tearDown
Methods inherited from class junit.framework.TestCase
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, run, run, runBare, runTest, setName, toString
-
Field Details
-
samples
-
container
-
-
Constructor Details
-
AbstractContainerTester
public AbstractContainerTester()
-
-
Method Details
-
setUp
- Overrides:
setUp
in classAbstractTester<OneSizeTestContainerGenerator<C,
E extends @Nullable Object>> - Throws:
Exception
-
actualContents
- Returns:
- the contents of the container under test, for use by
expectContents(E...)
and its friends.
-
resetContainer
Replaces the existing container under test with a new container created by the subject generator.- Returns:
- the new container instance.
- See Also:
-
resetContainer
Replaces the existing container under test with a new container. This is useful when a single test method needs to create multiple containers while retaining the ability to useexpectContents(E...)
and other convenience methods. The creation of multiple containers in a single method is discouraged in most cases, but it is vital to the iterator tests.- Parameters:
newValue
- the new container instance- Returns:
- the new container instance
-
expectContents
-
expectContents
Asserts that the collection under test contains exactly the given elements, respecting cardinality but not order. Subclasses may override this method to provide stronger assertions, e.g., to check ordering in lists, but realize that unless a test extendsAbstractListTester
, a call toexpectContents()
invokes this version.- Parameters:
expected
- expected value ofcontainer
-
expectUnchanged
protected void expectUnchanged() -
expectAdded
Asserts that the collection under test contains exactly the elements it was initialized with plus the given elements, according toexpectContents(java.util.Collection)
. In other words, for the defaultexpectContents()
implementation, the number of occurrences of each given element has increased by one since the test collection was created, and the number of occurrences of all other elements has not changed.Note: This means that a test like the following will fail if
collection
is aSet
:collection.add(existingElement); expectAdded(existingElement);
In this case,
collection
was not modified as a result of theadd()
call, and the test will fail because the number of occurrences ofexistingElement
is unchanged.- Parameters:
elements
- expected additional contents ofcontainer
-
expectAdded
-
expectAdded
-
expectMissing
-
createSamplesArray
-
createOrderedArray
-
createArrayWithDuplicateElement
- Returns:
- an array of the proper size with a duplicate element. The size must be at least three.
-
getNumElements
protected int getNumElements() -
getSampleElements
-
getSampleElements
-
getOrderedElements
Returns the sample elements as ordered byTestContainerGenerator.order(List)
. Tests should use this method only if they declare requirementCollectionFeature.KNOWN_ORDER
. -
getNullLocation
protected int getNullLocation()- Returns:
- a suitable location for a null element, to use when initializing containers for tests that involve a null element being present.
-
createDisjointCollection
-
emptyCollection
-
e0
-
e1
-
e2
-
e3
-
e4
-