StringsDSL { public StringGeneratorBuilder allPossible() { return betweenCodePoints(Character.MIN_CODE_POINT, Character.MAX_CODE_POINT); }  Gen<String> numeric(); Gen<String> numericBetween(int startInclusive,
      int endInclusive); StringGeneratorBuilder allPossible(); StringGeneratorBuilder basicMultilingualPlaneAlphabet(); StringGeneratorBuilder basicLatinAlphabet(); StringGeneratorBuilder ascii(); StringGeneratorBuilder betweenCodePoints(int minInclusive, int maxInclusive);  }
@Test public void boundedLengthStringsRespectsLengthBounds() { Gen<String> testee = strings().allPossible().ofLengthBetween(3, 200); qt() .withExamples(100000) .forAll(testee) .check( s -> s.length() <= 200 && s.length() >= 3); }
@Test public void boundedLengthStringsProducesDistinctValues() { Gen<String> testee = strings().allPossible().ofLengthBetween(0, 100); assertThatGenerator(testee).generatesAtLeastNDistinctValues(1000); }
@Test public void fixedLengthStringsAreFixedLength() { qt() .forAll(strings().allPossible().ofLength(100)) .check(s -> s.length() == 100); }