Class JsIntGen

java.lang.Object
jsonvalues.gen.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

    Modifier and Type
    Method
    Description
    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>
    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>
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.util.function.Function

    andThen, compose

    Methods inherited from interface fun.gen.Gen

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

    • biased

      public static fun.gen.Gen<JsInt> biased()
      returns a biased generators that produces, with higher probability, potential problematic values that usually cause more bugs. These values are:
       - Integer.MIN_VALUE
       - Short.MIN_VALUE
       - Byte.MIN_VALUE
       - 0
       - Integer.MAX_VALUE
       - Short.MAX_VALUE
       - Byte.MAX_VALUE
       
      Returns:
      a biased JsInt generator
    • 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