Interface ChainArbitrary<T extends @Nullable Object>

All Superinterfaces:
Arbitrary<Chain<T>>

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

    • 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
    • infinite

      default ChainArbitrary<T> infinite()
      Create 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(Supplier<? extends ChangeDetector<? super 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