Class ShrinkableSet<E>

java.lang.Object
net.jqwik.engine.properties.shrinking.ShrinkableSet<E>
All Implemented Interfaces:
Comparable<net.jqwik.api.Shrinkable<Set<E>>>, net.jqwik.api.Shrinkable<Set<E>>

public class ShrinkableSet<E> extends Object
  • Field Details

    • elements

      protected final List<net.jqwik.api.Shrinkable<E>> elements
    • minSize

      protected final int minSize
    • maxSize

      protected final int maxSize
    • uniquenessExtractors

      protected final Collection<FeatureExtractor<E>> uniquenessExtractors
    • elementArbitrary

      protected final @Nullable net.jqwik.api.Arbitrary<E> elementArbitrary
  • Constructor Details

    • ShrinkableSet

      public ShrinkableSet(Collection<net.jqwik.api.Shrinkable<E>> elements, int minSize, int maxSize, Collection<FeatureExtractor<E>> uniquenessExtractors, @Nullable net.jqwik.api.Arbitrary<E> elementArbitrary)
  • Method Details

    • shrink

      public Stream<net.jqwik.api.Shrinkable<Set<E>>> shrink()
      Specified by:
      shrink in interface net.jqwik.api.Shrinkable<E>
    • hasReallyGrown

      protected boolean hasReallyGrown(net.jqwik.api.Shrinkable<Set<E>> grownShrinkable)
    • value

      public Set<E> value()
      Specified by:
      value in interface net.jqwik.api.Shrinkable<C>
    • grow

      public Optional<net.jqwik.api.Shrinkable<Set<E>>> grow(net.jqwik.api.Shrinkable<?> before, net.jqwik.api.Shrinkable<?> after)
      Specified by:
      grow in interface net.jqwik.api.Shrinkable<C>
    • grow

      public Stream<net.jqwik.api.Shrinkable<Set<E>>> grow()
      Specified by:
      grow in interface net.jqwik.api.Shrinkable<C>
    • shrinkSizeAggressively

      protected Stream<net.jqwik.api.Shrinkable<Set<E>>> shrinkSizeAggressively()
    • shrinkSizeOfList

      protected Stream<net.jqwik.api.Shrinkable<Set<E>>> shrinkSizeOfList()
    • shrinkElementsOneAfterTheOther

      protected Stream<net.jqwik.api.Shrinkable<Set<E>>> shrinkElementsOneAfterTheOther(int maxToShrink)
    • shrinkPairsOfElements

      protected Stream<net.jqwik.api.Shrinkable<Set<E>>> shrinkPairsOfElements()
    • sortElements

      protected Stream<net.jqwik.api.Shrinkable<Set<E>>> sortElements()
    • distance

      public net.jqwik.api.ShrinkingDistance distance()
      Specified by:
      distance in interface net.jqwik.api.Shrinkable<C>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object