Next: , Previous: , Up: API  


1.5 (veritas generator)

Generator combinators for the property-based testing subsystem. Every generator is a closure taking a random state, so the calling convention is always: (lambda (rand) ...). Sizes are picked inside the generator, which saves threading a size argument through the pipeline by hand.

1.5.1 Procedures

Procedure: generate-char

Return a generator of printable ASCII characters, 32 to 126.

Procedure: generate-integer KEY: #:max-bound

Return a generator of integers between 1 and max-bound (inclusive).

Call the generator with a random state:

(define gen (generate-integer #:max-bound 100))
(gen (seed->random-state 42))
Procedure: generate-list elem-generator KEY: #:min-len #:max-len

Return a generator of lists whose elements come from elem-generator.

Lists are min-len to max-len long.

Procedure: generate-string KEY: #:min-len #:max-len

Return a generator of printable-ASCII strings.

Strings are min-len to max-len characters long.

Procedure: generate-symbol KEY: #:min-len #:max-len

Return a generator of lowercase symbols, min-len to max-len long.

Symbols stay unescaped because the characters are always a-z.