add generator for symbols
This commit is contained in:
parent
47ad1552d5
commit
176f09a7ad
|
@ -43,6 +43,7 @@
|
|||
|
||||
(check-not-exn (λ () (test-contract-generation exact-nonnegative-integer?)))
|
||||
(check-not-exn (λ () (test-contract-generation natural?)))
|
||||
(check-not-exn (λ () (test-contract-generation symbol?)))
|
||||
(check-not-exn (λ () (test-contract-generation (integer-in 0 100))))
|
||||
(check-not-exn (λ () (test-contract-generation (integer-in 0 (expt 2 1000)))))
|
||||
(check-not-exn (λ () (test-contract-generation (integer-in 0 #f))))
|
||||
|
|
|
@ -63,6 +63,17 @@
|
|||
(/ (integer-gen fuel)
|
||||
(exact-positive-integer-gen fuel)))
|
||||
|
||||
(define (string-gen fuel)
|
||||
(define len
|
||||
(rand-choice [1/10 0]
|
||||
[1/10 1]
|
||||
[else (rand-range 2 260)]))
|
||||
(define strl (build-list len (λ (x) (gen-char fuel))))
|
||||
(apply string strl))
|
||||
|
||||
(define (symbol-gen fuel)
|
||||
(string->symbol (string-gen fuel)))
|
||||
|
||||
(define predicate-generator-table
|
||||
(hash
|
||||
;; generate integer?
|
||||
|
@ -72,6 +83,9 @@
|
|||
exact-integer?
|
||||
exact-integer-gen
|
||||
|
||||
symbol?
|
||||
symbol-gen
|
||||
|
||||
natural?
|
||||
exact-nonnegative-integer-gen
|
||||
|
||||
|
@ -118,12 +132,7 @@
|
|||
gen-char
|
||||
|
||||
string?
|
||||
(λ (fuel)
|
||||
(let* ([len (rand-choice [1/10 0]
|
||||
[1/10 1]
|
||||
[else (rand-range 2 260)])]
|
||||
[strl (build-list len (λ (x) (gen-char fuel)))])
|
||||
(apply string strl)))
|
||||
string-gen
|
||||
|
||||
|
||||
byte?
|
||||
|
|
Loading…
Reference in New Issue
Block a user