Class TestUnhashableCollectionGenerator<T extends Collection<UnhashableObject>>
java.lang.Object
com.google.common.collect.testing.TestUnhashableCollectionGenerator<T>
- All Implemented Interfaces:
TestCollectionGenerator<UnhashableObject>
,TestContainerGenerator<Collection<UnhashableObject>,
UnhashableObject>
- Direct Known Subclasses:
ListGenerators.UnhashableElementsImmutableListGenerator
,MapGenerators.ImmutableMapUnhashableValuesGenerator
,SetGenerators.TestUnhashableSetGenerator
@GwtCompatible
@NullMarked
public abstract class TestUnhashableCollectionGenerator<T extends Collection<UnhashableObject>>
extends Object
implements TestCollectionGenerator<UnhashableObject>
Creates collections containing unhashable sample elements, to be tested.
- Author:
- Regina O'Dell
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract T
create
(UnhashableObject[] elements) Creates a new collection containing the given elements; implement this method instead ofcreate(Object...)
.Creates a new container containing the given elements.createArray
(int length) Helper method to create an array of the appropriate type used by this generator.order
(List<UnhashableObject> insertionOrder) Returns the iteration ordering of elements, given the order in which they were added to the container.samples()
Returns the sample elements that this generate populates its container with.
-
Constructor Details
-
TestUnhashableCollectionGenerator
public TestUnhashableCollectionGenerator()
-
-
Method Details
-
samples
Description copied from interface:TestContainerGenerator
Returns the sample elements that this generate populates its container with.- Specified by:
samples
in interfaceTestContainerGenerator<Collection<UnhashableObject>,
UnhashableObject>
-
create
Description copied from interface:TestContainerGenerator
Creates a new container containing the given elements. TODO: would be nice to figure out how to use E... or E[] as a parameter type, but this doesn't seem to work because Java creates an array of the erased type.- Specified by:
create
in interfaceTestContainerGenerator<Collection<UnhashableObject>,
UnhashableObject>
-
create
Creates a new collection containing the given elements; implement this method instead ofcreate(Object...)
. -
createArray
Description copied from interface:TestContainerGenerator
Helper method to create an array of the appropriate type used by this generator. The returned array will contain only nulls.- Specified by:
createArray
in interfaceTestContainerGenerator<Collection<UnhashableObject>,
UnhashableObject>
-
order
Description copied from interface:TestContainerGenerator
Returns the iteration ordering of elements, given the order in which they were added to the container. This method may return the original list unchanged, the original list modified in place, or a different list.If the order is non-deterministic, as with
HashSet
, this method can return its input unmodified. Provided that the test suite is built withoutCollectionFeature.KNOWN_ORDER
, the tests will look only at the returned contents without regard for order.- Specified by:
order
in interfaceTestContainerGenerator<Collection<UnhashableObject>,
UnhashableObject>
-