Interface ActionChainArbitrary<S extends @Nullable Object>

All Superinterfaces:
Arbitrary<ActionChain<S>>

@API(status=EXPERIMENTAL, since="1.7.0") public interface ActionChainArbitrary<S extends @Nullable Object> extends Arbitrary<ActionChain<S>>
  • Method Details

    • withAction

      @API(status=EXPERIMENTAL, since="1.7.2") default ActionChainArbitrary<S> withAction(Action<S> action)
      Allow an additional action with default weight of 1.
      Parameters:
      action - Instance of Action.Dependent or Action.Independent
      Returns:
      new arbitrary instance
    • withAction

      @API(status=EXPERIMENTAL, since="1.7.2") ActionChainArbitrary<S> withAction(int weight, Action<S> action)
      Allow an additional action to be generated.
      Parameters:
      weight - Determines the relative probability of an action to be chosen.
      action - Instance of Action.Dependent or Action.Independent
      Returns:
      new arbitrary instance
    • withMaxTransformations

      ActionChainArbitrary<S> withMaxTransformations(int maxSize)
      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 arbitrary instance
    • infinite

      default ActionChainArbitrary<S> infinite()
      Create a potentially infinite chain. Such a chain will only end when a Transformer.endOfChain() is applied.
      Returns:
      new arbitrary instance
    • improveShrinkingWith

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