Class JsIntGen

  • All Implemented Interfaces:
    fun.gen.Gen<JsInt>, Function<Random,​Supplier<JsInt>>

    public final class JsIntGen
    extends Object
    implements fun.gen.Gen<JsInt>
    Represents a JsInstant generator. It can be created using the static factory methods biased and arbitrary or, if none of the previous suit your needs, from an integer generator and the function map:
    
          import fun.gen.Gen;
          import jsonvalues.JsInt;
    
          Gen<Integer> intGen = seed -> () -> {...};
          Gen<JsInteger> jsIntGen = gen.map(JsInt::of)
          
      

    Arbitrary generators produces uniformed distributions of values. Biased generators produces, with higher probability, potential problematic values that usually cause more bugs.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Supplier<JsInt> apply​(Random seed)
      Returns a supplier from the specified seed that generates a new JsInt each time it's called
      static fun.gen.Gen<JsInt> arbitrary()
      Returns a generator that produces values uniformly distributed
      static fun.gen.Gen<JsInt> arbitrary​(int min, int max)
      Returns a generator that produces values uniformly distributed over a specified interval
      static fun.gen.Gen<JsInt> biased()
      returns a biased generators that produces, with higher probability, potential problematic values that usually cause more bugs.
      static fun.gen.Gen<JsInt> biased​(int min, int max)
      returns a biased generators that produces, with higher probability, potential problematic values that usually cause more bugs.
      • Methods inherited from interface fun.gen.Gen

        map, peek, sample, sample, sample, suchThat, suchThat, then
    • Method Detail

      • arbitrary

        public static fun.gen.Gen<JsInt> arbitrary()
        Returns a generator that produces values uniformly distributed
        Returns:
        a JsInt generator
      • arbitrary

        public static fun.gen.Gen<JsInt> arbitrary​(int min,
                                                   int max)
        Returns a generator that produces values uniformly distributed over a specified interval
        Parameters:
        min - lower bound of the interval (inclusive)
        max - upper bound of the interval (inclusive)
        Returns:
        a biased JsInt generator
      • biased

        public static fun.gen.Gen<JsInt> biased​(int min,
                                                int max)
        returns a biased generators that produces, with higher probability, potential problematic values that usually cause more bugs. These values are:
         - the lower bound of the interval
         - the upper bound of the interval
         
        and the following numbers provided that they are between the specified interval:
         - Integer.MIN_VALUE
         - Short.MIN_VALUE
         - Byte.MIN_VALUE
         - 0
         - Integer.MAX_VALUE
         - Short.MAX_VALUE
         - Byte.MAX_VALUE
         
        Parameters:
        min - lower bound of the interval (inclusive)
        max - upper bound of the interval (inclusive)
        Returns:
        a biased JsInt generator
      • apply

        public Supplier<JsInt> apply​(Random seed)
        Returns a supplier from the specified seed that generates a new JsInt each time it's called
        Specified by:
        apply in interface Function<Random,​Supplier<JsInt>>
        Parameters:
        seed - the generator seed
        Returns:
        a JsInt supplier