Class StringGenerator

java.lang.Object
com.carrotsearch.randomizedtesting.generators.StringGenerator
Direct Known Subclasses:
CodepointSetGenerator, RealisticUnicodeGenerator, UnicodeGenerator

public abstract class StringGenerator extends Object
A StringGenerator generates random strings composed of characters. What these characters are and their distribution depends on a subclass.
See Also:
  • Constructor Details

    • StringGenerator

      public StringGenerator()
  • Method Details

    • ofStringLength

      public String ofStringLength(Random r, int minCodeUnits, int maxCodeUnits)
    • ofCodeUnitsLength

      public abstract String ofCodeUnitsLength(Random r, int minCodeUnits, int maxCodeUnits)
      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.
      Throws:
      IllegalArgumentException - Thrown if the generator cannot emit random string of the given unit length. For example a generator emitting only extended unicodeGenerator plane characters (encoded as surrogate pairs) will not be able to emit an odd number of code units.
    • ofCodePointsLength

      public abstract String ofCodePointsLength(Random r, int minCodePoints, int maxCodePoints)
      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.