Class JsBinaryGen

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

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

      import fun.gen.Gen;
      import jsonvalues.JsBinary;

      Gen<byte[]> byteGen = seed -> () -> {...};
      Gen<JsBinary> jsByteGen = gen.map(JsBinary::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<JsBinary> arbitrary(int minLength, int maxLength)
      Parameters:
      minLength - minimum number of bytes (inclusive)
      maxLength - maximum number of bytes (inclusive)
      Returns:
      an arbitrary Json bytes generator
    • biased

      public static fun.gen.Gen<JsBinary> biased(int minLength, int maxLength)
      Parameters:
      minLength - minimum number of bytes (inclusive)
      maxLength - maximum number of bytes (inclusive)
      Returns:
      a biased Json bytes generator
    • apply

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