Interface MapArbitrary<K,​V>

  • All Superinterfaces:
    Arbitrary<java.util.Map<K,​V>>, SizableArbitrary<java.util.Map<K,​V>>

    @API(status=MAINTAINED,
         since="1.3.2")
    public interface MapArbitrary<K,​V>
    extends Arbitrary<java.util.Map<K,​V>>, SizableArbitrary<java.util.Map<K,​V>>
    Fluent interface to add functionality to arbitraries that generate instances of type Map
    • Method Detail

      • ofSize

        default MapArbitrary<K,​V> ofSize​(int size)
        Fix the size to size.
        Specified by:
        ofSize in interface SizableArbitrary<K>
        Parameters:
        size - The size of the generated map
        Returns:
        new arbitrary instance
      • ofMinSize

        MapArbitrary<K,​V> ofMinSize​(int minSize)
        Set lower size boundary minSize (included).
        Specified by:
        ofMinSize in interface SizableArbitrary<K>
        Parameters:
        minSize - The minimum size of the generated map
        Returns:
        new arbitrary instance
      • ofMaxSize

        MapArbitrary<K,​V> ofMaxSize​(int maxSize)
        Set upper size boundary maxSize (included).
        Specified by:
        ofMaxSize in interface SizableArbitrary<K>
        Parameters:
        maxSize - The maximum size of the generated map
        Returns:
        new arbitrary instance
      • uniqueKeys

        @API(status=MAINTAINED,
             since="1.4.0")
        MapArbitrary<K,​V> uniqueKeys​(java.util.function.Function<K,​java.lang.Object> by)
        Add the constraint that keys of the generated map must be unique relating to an element's "feature" being extracted by applying the by function on a map entry's key. The extracted features are being compared using Object.equals(Object).

        The constraint can be combined with other uniqueKeys(Function) constraints.

        Returns:
        new arbitrary instance
      • uniqueValues

        @API(status=MAINTAINED,
             since="1.4.0")
        MapArbitrary<K,​V> uniqueValues​(java.util.function.Function<V,​java.lang.Object> by)
        Add the constraint that value of the generated map must be unique relating to an element's "feature" being extracted by applying the by function on a map entry's value. The extracted features are being compared using Object.equals(Object).

        The constraint can be combined with other uniqueValues(Function) constraints.

        Returns:
        new arbitrary instance
      • uniqueValues

        @API(status=MAINTAINED,
             since="1.4.0")
        MapArbitrary<K,​V> uniqueValues()
        Add the constraint that values of the generated map must be unique, i.e. no two value must return true when being compared using Object.equals(Object).

        The constraint can be combined with other uniqueValues(Function) constraints.

        Returns:
        new arbitrary instance