com.google.common.collect.testing
Class TestStringSetGenerator

java.lang.Object
  extended by com.google.common.collect.testing.TestStringSetGenerator
All Implemented Interfaces:
TestCollectionGenerator<String>, TestContainerGenerator<Collection<String>,String>, TestSetGenerator<String>
Direct Known Subclasses:
SetGenerators.DegeneratedImmutableSetGenerator, SetGenerators.ImmutableSetCopyOfGenerator, SetGenerators.ImmutableSortedSetExplicitComparator, SetGenerators.ImmutableSortedSetExplicitSuperclassComparatorGenerator, SetGenerators.ImmutableSortedSetReversedOrderGenerator, TestStringSortedSetGenerator

@GwtCompatible
public abstract class TestStringSetGenerator
extends Object
implements TestSetGenerator<String>

Create string sets for collection tests.

This class is GWT compatible.

Author:
Kevin Bourrillion

Constructor Summary
TestStringSetGenerator()
           
 
Method Summary
 Set<String> create(Object... elements)
          Creates a new container containing the given elements.
protected abstract  Set<String> create(String[] elements)
           
 String[] createArray(int length)
          Helper method to create an array of the appropriate type used by this generator.
 List<String> order(List<String> insertionOrder)
          Returns the iteration ordering of elements, given the order in which they were added to the container.
 SampleElements<String> samples()
          Returns the sample elements that this generate populates its container with.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestStringSetGenerator

public TestStringSetGenerator()
Method Detail

samples

public SampleElements<String> samples()
Description copied from interface: TestContainerGenerator
Returns the sample elements that this generate populates its container with.

Specified by:
samples in interface TestContainerGenerator<Collection<String>,String>

create

public Set<String> 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 interface TestContainerGenerator<Collection<String>,String>
Specified by:
create in interface TestSetGenerator<String>

create

protected abstract Set<String> create(String[] elements)

createArray

public String[] 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 interface TestContainerGenerator<Collection<String>,String>

order

public List<String> order(List<String> insertionOrder)
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.

This method runs only when CollectionFeature.KNOWN_ORDER is specified when creating the test suite. It should never run when testing containers such as HashSet, which have a non-deterministic iteration order.

By default, returns the supplied elements in their given order; however, generators for containers with a known order other than insertion order must override this method.

Note: This default implementation is overkill (but valid) for an unordered container. An equally valid implementation for an unordered container is to throw an exception. The chosen implementation, however, has the advantage of working for insertion-ordered containers, as well.

Specified by:
order in interface TestContainerGenerator<Collection<String>,String>


Copyright © 2010-2012. All Rights Reserved.