Class CodepointSetGenerator

java.lang.Object
com.carrotsearch.randomizedtesting.generators.StringGenerator
com.carrotsearch.randomizedtesting.generators.CodepointSetGenerator
Direct Known Subclasses:
AsciiAlphanumGenerator, AsciiLettersGenerator

public class CodepointSetGenerator extends StringGenerator
A string generator from a predefined set of codepoints or characters.
  • Field Details

    • bmp

      final int[] bmp
    • supplementary

      final int[] supplementary
    • all

      final int[] all
  • Constructor Details

    • CodepointSetGenerator

      public CodepointSetGenerator(char[] chars)
      All characters must be from BMP (no parts of surrogate pairs allowed).
    • CodepointSetGenerator

      public CodepointSetGenerator(String s)
      Parse the given String and split into BMP and supplementary codepoints.
  • Method Details

    • ofCodeUnitsLength

      public String ofCodeUnitsLength(Random r, int minCodeUnits, int maxCodeUnits)
      Specified by:
      ofCodeUnitsLength in class StringGenerator
      Parameters:
      minCodeUnits - Minimum number of code units (inclusive).
      maxCodeUnits - Maximum number of code units (inclusive).
      Returns:
      Returns a string of variable length between minCodeUnits (inclusive) and maxCodeUnits (inclusive) length. Code units are essentially an equivalent of char type, see String class for explanation.
    • ofCodePointsLength

      public String ofCodePointsLength(Random r, int minCodePoints, int maxCodePoints)
      Specified by:
      ofCodePointsLength in class StringGenerator
      Parameters:
      minCodePoints - Minimum number of code points (inclusive).
      maxCodePoints - Maximum number of code points (inclusive).
      Returns:
      Returns a string of variable length between minCodePoints (inclusive) and maxCodePoints (inclusive) length. Code points are full unicodeGenerator codepoints or an equivalent of int type, see String class for explanation. The returned String.length() may exceed maxCodeUnits because certain code points may be encoded as surrogate pairs.
    • isOdd

      private boolean isOdd(int v)
      Is a given number odd?
    • concat

      private int[] concat(int[]... arrays)
    • isSurrogate

      private boolean isSurrogate(char chr)