Interface ChainArbitrary<T>

  • All Superinterfaces:
    Arbitrary<Chain<T>>

    @API(status=EXPERIMENTAL,
         since="1.7.0")
    public interface ChainArbitrary<T>
    extends Arbitrary<Chain<T>>
    • Method Detail

      • withTransformation

        @API(status=EXPERIMENTAL,
             since="1.7.2")
        ChainArbitrary<T> withTransformation​(int weight,
                                             Transformation<T> transformation)
        Allow an additional Transformation on the generated chain.
        Parameters:
        weight - Determines the relative probability of a transformer to be chosen.
        transformation - The provider to add.
        Returns:
        new instance of arbitrary
      • withTransformation

        @API(status=EXPERIMENTAL,
             since="1.7.0")
        default ChainArbitrary<T> withTransformation​(Transformation<T> transformation)
        Allow an additional Transformation with a default weight of 1.
        Parameters:
        transformation - The provider to add.
        Returns:
        new instance of arbitrary
      • withMaxTransformations

        ChainArbitrary<T> withMaxTransformations​(int maxTransformations)
        Set the intended number of transformations of generated chains.

        Setting maxTransformations to -1 creates a potentially infinite chain. Such a chain will only end when a Transformer.endOfChain() is applied.

        Returns:
        new instance of arbitrary
      • improveShrinkingWith

        ChainArbitrary<T> improveShrinkingWith​(java.util.function.Supplier<ChangeDetector<T>> detectorSupplier)
        Set supplier for the type specific ChangeDetector which can make shrinking of chains more effective.
        Parameters:
        detectorSupplier - A function to create a new ChangeDetector instance.
        Returns:
        new instance of arbitrary