Class FeatureSpecificTestSuiteBuilder<B extends FeatureSpecificTestSuiteBuilder<B,G>,G>
- java.lang.Object
-
- com.google.common.collect.testing.FeatureSpecificTestSuiteBuilder<B,G>
-
- Type Parameters:
B
- The concrete type of this builder (the 'self-type'). All the Builder methods of this class (such asnamed(java.lang.String)
) return this type, so that Builder methods of more derived classes can be chained onto them without casting.G
- The type of the generator to be passed to testers in the generated test suite. An instance of G should somehow provide an instance of the class under test, plus any other information required to parameterize the test.
- Direct Known Subclasses:
PerCollectionSizeTestSuiteBuilder
@GwtIncompatible public abstract class FeatureSpecificTestSuiteBuilder<B extends FeatureSpecificTestSuiteBuilder<B,G>,G> extends Object
Creates, based on your criteria, a JUnit test suite that exhaustively tests the object generated by a G, selecting appropriate tests by matching them against specified features.- Author:
- George van den Driessche
-
-
Constructor Summary
Constructors Constructor Description FeatureSpecificTestSuiteBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
checkCanCreate()
ThrowIllegalStateException
ifcreateTestSuite()
can't be called yet.junit.framework.TestSuite
createTestSuite()
Creates a runnable JUnit test suite based on the criteria already given.protected static String
formatFeatureSet(Set<? extends Feature<?>> features)
Set<Feature<?>>
getFeatures()
String
getName()
Runnable
getSetUp()
G
getSubjectGenerator()
Set<Method>
getSuppressedTests()
Runnable
getTearDown()
protected abstract List<Class<? extends AbstractTester>>
getTesters()
protected junit.framework.TestSuite
makeSuiteForTesterClass(Class<? extends AbstractTester<?>> testerClass)
B
named(String name)
Configures this builder produce a TestSuite with the given name.protected B
self()
B
suppressing(Method... methods)
Prevents the given methods from being run as part of the test suite.B
suppressing(Collection<Method> methods)
protected B
usingGenerator(G subjectGenerator)
B
withFeatures(Feature<?>... features)
Configures this builder to produce tests appropriate for the given features.B
withFeatures(Iterable<? extends Feature<?>> features)
B
withSetUp(Runnable setUp)
B
withTearDown(Runnable tearDown)
-
-
-
Constructor Detail
-
FeatureSpecificTestSuiteBuilder
public FeatureSpecificTestSuiteBuilder()
-
-
Method Detail
-
usingGenerator
@CanIgnoreReturnValue protected B usingGenerator(G subjectGenerator)
-
getSubjectGenerator
public G getSubjectGenerator()
-
withTearDown
@CanIgnoreReturnValue public B withTearDown(Runnable tearDown)
-
getTearDown
public Runnable getTearDown()
-
withFeatures
@CanIgnoreReturnValue public B withFeatures(Feature<?>... features)
Configures this builder to produce tests appropriate for the given features. This method may be called more than once to add features in multiple groups.
-
withFeatures
@CanIgnoreReturnValue public B withFeatures(Iterable<? extends Feature<?>> features)
-
getFeatures
public Set<Feature<?>> getFeatures()
-
named
@CanIgnoreReturnValue public B named(String name)
Configures this builder produce a TestSuite with the given name.
-
suppressing
@CanIgnoreReturnValue public B suppressing(Method... methods)
Prevents the given methods from being run as part of the test suite.Note: in principle this should never need to be used, but it might be useful if the semantics of an implementation disagree in unforeseen ways with the semantics expected by a test, or to keep dependent builds clean in spite of an erroneous test.
-
suppressing
@CanIgnoreReturnValue public B suppressing(Collection<Method> methods)
-
getSuppressedTests
public Set<Method> getSuppressedTests()
-
createTestSuite
public junit.framework.TestSuite createTestSuite()
Creates a runnable JUnit test suite based on the criteria already given.
-
checkCanCreate
protected void checkCanCreate()
ThrowIllegalStateException
ifcreateTestSuite()
can't be called yet.
-
getTesters
protected abstract List<Class<? extends AbstractTester>> getTesters()
-
makeSuiteForTesterClass
protected junit.framework.TestSuite makeSuiteForTesterClass(Class<? extends AbstractTester<?>> testerClass)
-
formatFeatureSet
protected static String formatFeatureSet(Set<? extends Feature<?>> features)
-
-