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 voidcheckCanCreate()ThrowIllegalStateExceptionifcreateTestSuite()can't be called yet.junit.framework.TestSuitecreateTestSuite()Creates a runnable JUnit test suite based on the criteria already given.protected static StringformatFeatureSet(Set<? extends Feature<?>> features)Set<Feature<?>>getFeatures()StringgetName()RunnablegetSetUp()GgetSubjectGenerator()Set<Method>getSuppressedTests()RunnablegetTearDown()protected abstract List<Class<? extends AbstractTester>>getTesters()protected junit.framework.TestSuitemakeSuiteForTesterClass(Class<? extends AbstractTester<?>> testerClass)Bnamed(String name)Configures this builder produce a TestSuite with the given name.protected Bself()Bsuppressing(Method... methods)Prevents the given methods from being run as part of the test suite.Bsuppressing(Collection<Method> methods)protected BusingGenerator(G subjectGenerator)BwithFeatures(Feature<?>... features)Configures this builder to produce tests appropriate for the given features.BwithFeatures(Iterable<? extends Feature<?>> features)BwithSetUp(Runnable setUp)BwithTearDown(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()
ThrowIllegalStateExceptionifcreateTestSuite()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)
-
-