Generate only printable strings for `string' contract.
svn: r16038
This commit is contained in:
parent
ffe5097042
commit
f3676a152b
|
@ -36,6 +36,15 @@
|
||||||
(define choose-ascii-char
|
(define choose-ascii-char
|
||||||
(lift->generator integer->char (choose-integer 0 127)))
|
(lift->generator integer->char (choose-integer 0 127)))
|
||||||
|
|
||||||
|
(define choose-ascii-letter
|
||||||
|
(lift->generator (lambda (i)
|
||||||
|
(string-ref
|
||||||
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"))
|
||||||
|
(choose-integer 0 51)))
|
||||||
|
|
||||||
|
(define choose-printable-ascii-char
|
||||||
|
(lift->generator integer->char (choose-integer 32 127)))
|
||||||
|
|
||||||
(define max-scalar-value #x10FFFF)
|
(define max-scalar-value #x10FFFF)
|
||||||
(define gap-start #xD800)
|
(define gap-start #xD800)
|
||||||
(define gap-end #xE000)
|
(define gap-end #xE000)
|
||||||
|
@ -213,6 +222,16 @@
|
||||||
(lambda (ch gen)
|
(lambda (ch gen)
|
||||||
(variant (char->integer ch) gen))))
|
(variant (char->integer ch) gen))))
|
||||||
|
|
||||||
|
(define arbitrary-ascii-letter
|
||||||
|
(make-arbitrary choose-ascii-letter
|
||||||
|
(lambda (ch gen)
|
||||||
|
(variant (char->integer ch) gen))))
|
||||||
|
|
||||||
|
(define arbitrary-printable-ascii-char
|
||||||
|
(make-arbitrary choose-printable-ascii-char
|
||||||
|
(lambda (ch gen)
|
||||||
|
(variant (char->integer ch) gen))))
|
||||||
|
|
||||||
(define arbitrary-char
|
(define arbitrary-char
|
||||||
(make-arbitrary (sized
|
(make-arbitrary (sized
|
||||||
(lambda (n)
|
(lambda (n)
|
||||||
|
@ -331,6 +350,9 @@
|
||||||
(define arbitrary-ascii-string
|
(define arbitrary-ascii-string
|
||||||
(arbitrary-sequence choose-string string->list arbitrary-ascii-char))
|
(arbitrary-sequence choose-string string->list arbitrary-ascii-char))
|
||||||
|
|
||||||
|
(define arbitrary-printable-ascii-string
|
||||||
|
(arbitrary-sequence choose-string string->list arbitrary-printable-ascii-char))
|
||||||
|
|
||||||
(define arbitrary-string
|
(define arbitrary-string
|
||||||
(arbitrary-sequence choose-string string->list arbitrary-char))
|
(arbitrary-sequence choose-string string->list arbitrary-char))
|
||||||
|
|
||||||
|
@ -338,7 +360,7 @@
|
||||||
(arbitrary-sequence choose-symbol
|
(arbitrary-sequence choose-symbol
|
||||||
(lambda (symbol)
|
(lambda (symbol)
|
||||||
(string->list (symbol->string symbol)))
|
(string->list (symbol->string symbol)))
|
||||||
arbitrary-ascii-char))
|
arbitrary-ascii-letter))
|
||||||
|
|
||||||
(define (arbitrary-procedure arbitrary-result . arbitrary-args)
|
(define (arbitrary-procedure arbitrary-result . arbitrary-args)
|
||||||
(let ((arbitrary-arg-tuple (apply arbitrary-tuple arbitrary-args)))
|
(let ((arbitrary-arg-tuple (apply arbitrary-tuple arbitrary-args)))
|
||||||
|
|
|
@ -3,18 +3,18 @@
|
||||||
quickcheck quickcheck-results
|
quickcheck quickcheck-results
|
||||||
check-result? result-arguments-list
|
check-result? result-arguments-list
|
||||||
choose-integer choose-real
|
choose-integer choose-real
|
||||||
choose-ascii-char choose-char
|
choose-ascii-char choose-ascii-letter choose-printable-ascii-char choose-char
|
||||||
choose-list choose-vector choose-string choose-symbol
|
choose-list choose-vector choose-string choose-symbol
|
||||||
generator-unit generator-bind generator-sequence
|
generator-unit generator-bind generator-sequence
|
||||||
sized choose-one-of choose-mixed choose-with-frequencies
|
sized choose-one-of choose-mixed choose-with-frequencies
|
||||||
arbitrary-boolean arbitrary-char arbitrary-ascii-char
|
arbitrary-boolean arbitrary-char arbitrary-ascii-char arbitrary-printable-ascii-char
|
||||||
arbitrary-integer arbitrary-natural arbitrary-rational arbitrary-real
|
arbitrary-integer arbitrary-natural arbitrary-rational arbitrary-real
|
||||||
arbitrary-mixed arbitrary-one-of
|
arbitrary-mixed arbitrary-one-of
|
||||||
arbitrary-pair
|
arbitrary-pair
|
||||||
arbitrary-list
|
arbitrary-list
|
||||||
arbitrary-vector
|
arbitrary-vector
|
||||||
arbitrary-string
|
arbitrary-string
|
||||||
arbitrary-ascii-string
|
arbitrary-ascii-string arbitrary-printable-ascii-string
|
||||||
arbitrary-symbol
|
arbitrary-symbol
|
||||||
arbitrary-procedure
|
arbitrary-procedure
|
||||||
property
|
property
|
||||||
|
|
Loading…
Reference in New Issue
Block a user