Class JsBigIntGen

java.lang.Object
jsonvalues.gen.JsBigIntGen
All Implemented Interfaces:
fun.gen.Gen<JsBigInt>, Function<RandomGenerator,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 bits)
      Returns an arbitrary JSON big integer generator with a specified number of bits.
      Parameters:
      bits - The number of bits for the generated big integer.
      Returns:
      An arbitrary JSON big integer generator.
    • biased

      public static fun.gen.Gen<JsBigInt> biased(int bits)
      Returns a biased JSON big integer generator with a specified number of bits.
      Parameters:
      bits - The number of bits for the generated big integer.
      Returns:
      A biased JSON big integer generator.
    • apply

      public Supplier<JsBigInt> apply(RandomGenerator seed)
      Specified by:
      apply in interface Function<RandomGenerator,Supplier<JsBigInt>>