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 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 Constructor Description TestUnhashableCollectionGenerator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract T
create(UnhashableObject[] elements)
Creates a new collection containing the given elements; implement this method instead ofcreate(Object...)
.T
create(Object... elements)
Creates a new container containing the given elements.UnhashableObject[]
createArray(int length)
Helper method to create an array of the appropriate type used by this generator.Iterable<UnhashableObject>
order(List<UnhashableObject> insertionOrder)
Returns the iteration ordering of elements, given the order in which they were added to the container.SampleElements<UnhashableObject>
samples()
Returns the sample elements that this generate populates its container with.
-
-
-
Constructor Detail
-
TestUnhashableCollectionGenerator
public TestUnhashableCollectionGenerator()
-
-
Method Detail
-
samples
public SampleElements<UnhashableObject> 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
public T create(Object... elements)
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
protected abstract T create(UnhashableObject[] elements)
Creates a new collection containing the given elements; implement this method instead ofcreate(Object...)
.
-
createArray
public UnhashableObject[] createArray(int length)
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
public Iterable<UnhashableObject> order(List<UnhashableObject> insertionOrder)
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>
-
-