Package net.jqwik.api.arbitraries
Interface TypeArbitrary<T>
-
- All Superinterfaces:
Arbitrary<T>
@API(status=MAINTAINED, since="1.2") public interface TypeArbitrary<T> extends Arbitrary<T>
Fluent interface to configure arbitraries that try to generate instances of a given typeT
from the type's available constructors and factory methods.When constructors and factory methods have parameters those parameters will be resolved by searching for matching registered arbitrary providers. The searching is performed either globally or in the property method's specified domain contexts.
- See Also:
Domain
,DomainContext
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.jqwik.api.Arbitrary
Arbitrary.ArbitraryFacade
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description TypeArbitrary<T>
enableRecursion()
Enable recursive use of type arbitrary: If any parameter of a creator function does not have an associated arbitrary (globally registered or through a domain context), jqwik will try to resolve this parameter using its type information as weill.TypeArbitrary<T>
use(java.lang.reflect.Executable creator)
Deprecated.No longer supported.TypeArbitrary<T>
useAllConstructors()
Add all constructors (public, private or package scope) of classT
to be used for generating values of typeT
TypeArbitrary<T>
useAllFactoryMethods()
Add all factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
TypeArbitrary<T>
useConstructors(java.util.function.Predicate<? super java.lang.reflect.Constructor<?>> filter)
Add all constructors (public, private or package scope) of classT
to be used for generating values of typeT
TypeArbitrary<T>
useFactoryMethods(java.util.function.Predicate<java.lang.reflect.Method> filter)
Add all factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
TypeArbitrary<T>
usePublicConstructors()
Add public constructors of classT
to be used for generating values of typeT
TypeArbitrary<T>
usePublicFactoryMethods()
Add public factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
-
Methods inherited from interface net.jqwik.api.Arbitrary
allValues, array, asGeneric, collect, dontShrink, edgeCases, edgeCases, edgeCases, exhaustive, exhaustive, filter, filter, fixGenSize, flatMap, forEachValue, generator, generator, generatorWithEmbeddedEdgeCases, ignoreException, injectDuplicates, injectNull, isGeneratorMemoizable, iterator, list, map, optional, optional, sample, sampleStream, set, stream, tuple1, tuple2, tuple3, tuple4, tuple5, withoutEdgeCases
-
-
-
-
Method Detail
-
use
@Deprecated @API(status=DEPRECATED, since="1.6.1") TypeArbitrary<T> use(java.lang.reflect.Executable creator)
Deprecated.No longer supported. Will be removed in 1.8.0.Add another creator (function or constructor) to be used for generating values of typeT
- Parameters:
creator
- The static function or constructor- Returns:
- new arbitrary instance
-
usePublicConstructors
TypeArbitrary<T> usePublicConstructors()
Add public constructors of classT
to be used for generating values of typeT
- Returns:
- new arbitrary instance
-
useAllConstructors
TypeArbitrary<T> useAllConstructors()
Add all constructors (public, private or package scope) of classT
to be used for generating values of typeT
- Returns:
- new arbitrary instance
-
useConstructors
TypeArbitrary<T> useConstructors(java.util.function.Predicate<? super java.lang.reflect.Constructor<?>> filter)
Add all constructors (public, private or package scope) of classT
to be used for generating values of typeT
- Parameters:
filter
- Predicate to add only those constructors for which the predicate returns true- Returns:
- new arbitrary instance
-
usePublicFactoryMethods
TypeArbitrary<T> usePublicFactoryMethods()
Add public factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
- Returns:
- new arbitrary instance
-
useAllFactoryMethods
TypeArbitrary<T> useAllFactoryMethods()
Add all factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
- Returns:
- new arbitrary instance
-
useFactoryMethods
TypeArbitrary<T> useFactoryMethods(java.util.function.Predicate<java.lang.reflect.Method> filter)
Add all factory methods (static methods with return typeT
) of classT
to be used for generating values of typeT
- Parameters:
filter
- Predicate to add only those factory methods for which the predicate returns true- Returns:
- new arbitrary instance
-
enableRecursion
@API(status=EXPERIMENTAL, since="1.6.1") TypeArbitrary<T> enableRecursion()
Enable recursive use of type arbitrary: If any parameter of a creator function does not have an associated arbitrary (globally registered or through a domain context), jqwik will try to resolve this parameter using its type information as weill.- Returns:
- new arbitrary instance
-
-