All Classes and Interfaces

Class
Description
An action class represents a state transformation that can be performed on an object of type S.
An action class represents a state change that can be preformed on a stateful S.
Implement this interface if you want to have the action's transforming behaviour depend on the previous state.
Implement this interface if you want to have the action's transforming behaviour not to depend on previous state.
Subclass if you want to implement an independent action that simply mutates the given state.
Subclass if you want to implement an independent action that simply transforms the given state.
An ActionBuilder is used to create simple Action objects.
A chain of transforming Actions that can be run for values of type S.
 
 
 
A sequence of Actions that can be run with a model of type M
 
 
Use to register a concrete lifecycle hook implementation for a test element -- a container class or a property method.
Annotate static methods of a container class with @AfterContainer to have them run exactly once after all of its properties or any lifecycle methods from embedded containers have been run.
Implement this hook to define behaviour for a container (class or whole test suite) that should be run exactly once after of its property methods and child containers.
This is an alias of AfterProperty
The after-failure mode determines how a property behaves after it has been falsified.
Annotate methods of a container class with @AfterProperty to have them run once after each property (or example) including properties (or examples) of embedded containers.
Annotate methods of a container class with @AfterTry to have them run once after each try - the actual invocation of the property method with generated parameters - including properties of embedded containers.
Constrain the chars used to generate Strings or Characters to upper and lower case chars.
 
 
The main interface for representing objects that can be generated and shrunk.
 
 
Implementors can modify any arbitrary before it's being used for value generation.
Using this base class is the easiest way to make use of the configuration mechanism described in ArbitraryConfigurator
Use this superclass if you want to provide a specialized type of arbitrary, e.g. with additional methods for configuration or defaults, but don't want to implement the whole Arbitrary interface yourself.
Implementations of this class are used to provide default arbitraries to ForAll parameters without an explicit provider reference.
 
Implementations of this class are used to provide single arbitraries for ForAll parameters and parameter types annotated with From.
 
An aggregate interface of BeforeContainerHook and AfterContainerHook for convenience.
Implement this hook to define behaviour that should "wrap" the execution of a property, i.e., do something directly before or after running a property - or both.
Implement this hook to define behaviour that should "wrap" the execution of a single try, i.e., do something directly before or after executing a property method with a given list of parameters.
Fluent interface to add functionality to arbitraries that generate instances of Arrays
 
Annotate static methods of a container class with @BeforeContainer to have them run exactly once before any of its properties or any lifecycle methods from embedded containers will be run.
Implement this hook to define behaviour for a container (class or whole test suite) that should be run exactly once before any of its property methods and child containers.
This is an alias of BeforeProperty
Annotate methods of a container class with @BeforeProperty to have them run once before each property (or example) including properties (or examples) of embedded containers.
Annotate methods or member variables of a container class with @BeforeTry.
Fluent interface to configure the generation of BigDecimal values.
Fluent interface to configure the generation of BigInteger values.
Constrain the range of a generated "Big" number.
 
Provide access to combinators through builder functionality.
Functionality to manipulate a builder.
Fluent interface to configure the generation of Byte and byte values.
Constrain the range of a generated byte or Byte parameters.
Fluent interface to configure the generation of date values.
 
Experimental feature.
Experimental feature.
A chain represents a series of states of type T in which the previous state is somehow transformed into the next state.
 
 
A change detector is used to determine if a stateful object has changed after the application of a transformer.
Fluent interface to configure the generation of Character and char values.
Constrain the chars used to generate Strings or Characters to chars in the range from from to to.
 
Constrain the chars used to generate Strings or Characters to chars contained in value.
 
Provide implementation for stream to collect to LinkedHashSet in order to preserve order and to make random-based generation deterministic
 
Combinator for two values.
Combinator for three values.
Combinator for four values.
Combinator for five values.
Combinator for six values.
Combinator for seven values.
Combinator for eight values.
 
 
 
 
 
 
 
 
Combinator for any number of values.
The context of a test container (a container class or the whole jqwik suite).
Used to annotate methods that can provide data points for property methods.
Fluent interface to configure the generation of date values.
Constrain the range of generated date parameters.
 
Constrain the range of generated date time parameters.
 
Constrain the range of generated day of month parameters.
Constrain the range of generated day of week parameters.
Use @Disabled("reason to disable") to disable test container or test method during normal test execution.
Use @Domain(MyDomainContext.class) to use only arbitrary providers and arbitrary configurators defined in given context class
Class that implement this interface are used to annotate property methods or containers like this: Domain(MyDomainContext.class).
 
 
Base class for convention based implementations of DomainContext
 
Fluent interface to configure the generation of Double and double values.
Constrain the range of a generated double or Double parameters.
Fluent interface to configure the generation of duration values.
Constrain the range of generated periods.
 
 
 
The edge-cases mode determines if and when combined edge-cases of all parameters will be explicitly generated.
Constrain generated strings to be valid email addresses.
Fluent interface to configure arbitraries that generate valid email addresses.
Use this annotation to enable footnote support.
Use @Example to mark methods that are simple, example-based test cases.
Used only internally to run and compute exhaustive generation of parameters
 
 
A falsified sample is the collection of data that could be falsified during a property run.
This interface is no longer used anywhere in jqwik's public API and could therefore be deprecated and moved to engine implementation.
The fixed seed mode determines how jqwik should behave if a property has an explicit Property.seed() specified.
Fluent interface to configure the generation of Float and float values.
Constrain the range of a generated float or Float parameters.
An interface that can be used to add information to the report of a failing property.
Used to annotate method parameters that will be provided by jqwik.
Used to annotate type parameters within property parameters annotated with ForAll .
Used to annotate property methods.
Fluent interface to configure arbitraries that represent functional types
 
 
Wraps a function to be generated.
The generation mode defines the generation behaviour of a property.
 
The methods in this class mimic the behaviour of Objects.hash(Object...) ()} but do not create an array on the way.
A statistics report format to display collected statistics entries as a histogram
 
Constrain the range of generated hour parameters.
Fluent interface to configure the generation of instant values.
Constrain the range of generated instant parameters.
Fluent interface to configure the generation of Integer and int values.
Constrain the range of a generated int or Integer parameters.
 
Implement this hook to override behaviour that invokes a method through reflection.
Fluent interface to add functionality to arbitraries that generate instances of type Iterator
 
 
Base exception for exceptions that are thrown during the discovery phase and during setup of properties before they are actually run.
JqwikSession is the abstraction to give users of Arbitrary.sample() and Arbitrary.sampleStream() outside the jqwik lifecycle more control over the lifecycle.
 
 
Use @Label("a descriptive name") to give test classes, groups and methods a more readable label (aka display name).
 
Supertype of all lifecycle context interfaces.
This is the supertype of all lifecycle hook interfaces.
Experimental feature.
Define how long a resource, e.g. the value in a Store with the same identifier, will live: For the whole test run For the currently running property For the currently running try Any hook or collection of hooks can use this enum to allow the specification of the lifespan of resources from which it is abstracting.
Fluent interface to add functionality to arbitraries that generate instances of type List
Fluent interface to configure the generation of local date values.
Fluent interface to configure the generation of local date time values.
Fluent interface to configure the generation of local time values.
Fluent interface to configure the generation of Long and long values.
Constrain the range of a generated long or BigInteger parameters.
Constrain the chars used to generate Strings or Characters to lower case chars.
Fluent interface to add functionality to arbitraries that generate instances of type Map
Constrain the range of generated minute parameters.
Fluent interface to configure the generation of month and day values.
Constrain the range of generated month and day parameters.
Constrain the range of generated month parameters.
Constrain the range of a generated number to be less than 0.
 
Constrain a string to never be blank, i.e. not empty and not just whitespace.
Constrain the size of generated "sizable" types to be at least 1.
This annotation is necessary because Nullable cannot be applied to type usages
A specialized type of Histogram to divide collected numbers into range-based clusters for display in a histogram.
 
Constrain the chars used to generate Strings or Characters to digits.
Fluent interface to configure the generation of offset date time values.
Constrain the range of generated periods.
Fluent interface to configure the generation of offset time values.
Experimental feature.
Fluent interface to configure the generation of period values.
Constrain the range of generated periods.
Annotate property methods of a container class with @PerProperty if you want to have some lifecycle control over this property alone.
 
 
Constrain the range of a generated number to be greater than 0.
Constrain the precision of generated times.
Describes if and how a concrete registered hook is propagated to children of the element where the hook has been registered.
Use @Property to mark methods that serve as properties.
Represents a property method's attributes which are set (or not) in attributes of the Property annotation.
Annotate a container class with @PropertyDefaults if you want to set defaults of Property attributes of all contained property methods.
 
Represents the result of running a property.
Status of executing a single test or container.
Objects of this class represent a property's execution.
The context information of a property or example.
Used to annotate methods that can provide values for property method parameters.
Implement this hook to override behaviour that provides the test instance for each property try.
Determines how generated numerical values are generated and distributed across the allowed range and a center withing this range.
 
Generator for BigInteger values which are behind all generated numeric values in jqwik.
 
 
 
Use this hook if you want to apply several hook implementations that belong together but that cannot be implemented in a single class, e.g. because the same hook type must be added with different proximity or different propagation.
A short-lived object used for registering concrete hook implementation classes.
Use @Report to specify what additional things should be reported when running a property.
An interface that can be used to report additional information for a test element, i.e. a test container or property.
 
This hook type allows to provide parameters for property methods but also to annotated lifecycle methods.
A functional interface specialized on providing parameters to property methods and to annotated lifecycle methods.
 
Use to constrain the maximum number of decimal places when generating decimal numbers.
Constrain the range of generated second parameters.
An Arbitrary implementation can also implement this interface if it wants to take over its own configuration which is usually being done by registered instances of ArbitraryConfigurator.
Fluent interface to add functionality to arbitraries that generate instances of type Set
Fluent interface to configure the generation of Short and short values.
Constrain the range of a generated short or Short parameters.
 
 
A ShrinkingDistance is a measure of how close a value is to the minimum value, aka target value.
The shrinking mode defines the shrinking behaviour of a property.
 
A shrunk falsified sample is a FalsifiedSample that results from shrinking.
Fluent interface to configure arbitraries that have size constraints for generated values, e.g. collections and arrays.
Constrain the size of generated "sizable" types.
Use this hook to determine if an annotated element should be skipped during a test run or not.
 
This class serves as a container for static methods to collect statistical data about generated values within a property method and to check coverage of that data.
 
This class serves as an interface to collect statistical data about generated values within a property method.
Intermediate object to provide statistics coverage checking capabilities
 
Describes an entry for a given statistics selector.
This annotation can be used to influence statistics reporting.
 
 
An implementation of this interface is responsible for creating a formatted statistics report.
 
Experimental feature.
Any value that implements this interface will automatically be closed when its store goes out of scope.
 
Fluent interface to add functionality to arbitraries whose generation artefacts can be streamed, e.g.
Fluent interface to add functionality to arbitraries that generate instances of type Stream
Fluent interface to configure arbitraries that generate String values.
Constrain the length of generated Strings.
 
Use @Tag("a tag") to give test classes, groups and methods an (additional) tag which can later be used to select the set of tests to execute.
 
 
Constrain the range of generated time parameters.
 
 
A transformation provides an arbitrary of transformers for values of type T in the context of chains.
 
A transformer is used to transform a state of type T into another value of this type.
Fluent interface to configure arbitraries that try to generate instances of a given type T from the type's available constructors and factory methods.
A traverser describes how to travers a given type by providing a hook to resolve a parameter into an arbitrary and a means to find all relevant creators (constructors or factory methods) for a type that does not have a suitable default arbitrary.
Represents the result of calling a property method with a list of parameters.
Status of running a single try.
Experimental feature.
The context information of a single try of a property.
Typed Tuples are very convenient containers to have, especially in the context of generating dependent values.
 
 
 
 
 
 
 
 
 
Fluent interface to configure arbitraries that try to generate instances of a given type T from the type's available constructors and factory methods.
An instance of TypeUsage describes the information available for parameter or return types.
Enhancers can manipulate the perceived type of parameters.
 
Add a uniqueness constraint to a Collection, Stream or Array parameter.
 
Constrain the chars used to generate Strings or Characters to upper and lower case chars.
Generate a value from the annotated class' or type's constructors or factory methods.
 
This is the home for static methods to produce arbitraries for Web-related domain types, like email addresses, ip addresses, domains, URLs etc.
Constrain generated strings to be valid web domain names (e.g.
Constrain the chars used to generate Strings or Characters to chars that will return true for Character.isWhitespace(char).
Allows jqwik to inject null parameters into generated values.
Fluent interface to configure the generation of Year values.
Fluent interface to configure the generation of year and month values.
Constrain the range of generated year and month parameters.
Constrain the range of generated positive year parameters.
Fluent interface to configure the generation of zoned date time values.
Fluent interface to configure the generation of zone offset values.