Class JsBigIntGen

java.lang.Object
jsonvalues.gen.JsBigIntGen
All Implemented Interfaces:
fun.gen.Gen<JsBigInt>, Function<Random,Supplier<JsBigInt>>

public final class JsBigIntGen extends Object implements fun.gen.Gen<JsBigInt>
Represents a JsBigInt generator. It can be created using the static factory methods biased and arbitrary or, if none of the previous suit your needs, from a big integer generator and the function map:

      import fun.gen.Gen;
      import jsonvalues.JsBigInt;

      Gen<BigInteger> bigIntGen = seed -> () -> {...};
      Gen<JsBigInt> jsBigIntGen = gen.map(JsBigInt::of)
      
  

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

  • Method Details

    • arbitrary

      public static fun.gen.Gen<JsBigInt> arbitrary(int minBits, int maxBits)
    • biased

      public static fun.gen.Gen<JsBigInt> biased(int minBits, int maxBits)
    • apply

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