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 exact-nonnegative-integer?)))
|
||||||
(check-not-exn (λ () (test-contract-generation natural?)))
|
(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 100))))
|
||||||
(check-not-exn (λ () (test-contract-generation (integer-in 0 (expt 2 1000)))))
|
(check-not-exn (λ () (test-contract-generation (integer-in 0 (expt 2 1000)))))
|
||||||
(check-not-exn (λ () (test-contract-generation (integer-in 0 #f))))
|
(check-not-exn (λ () (test-contract-generation (integer-in 0 #f))))
|
||||||
|
|
|
@ -63,6 +63,17 @@
|
||||||
(/ (integer-gen fuel)
|
(/ (integer-gen fuel)
|
||||||
(exact-positive-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
|
(define predicate-generator-table
|
||||||
(hash
|
(hash
|
||||||
;; generate integer?
|
;; generate integer?
|
||||||
|
@ -72,6 +83,9 @@
|
||||||
exact-integer?
|
exact-integer?
|
||||||
exact-integer-gen
|
exact-integer-gen
|
||||||
|
|
||||||
|
symbol?
|
||||||
|
symbol-gen
|
||||||
|
|
||||||
natural?
|
natural?
|
||||||
exact-nonnegative-integer-gen
|
exact-nonnegative-integer-gen
|
||||||
|
|
||||||
|
@ -118,12 +132,7 @@
|
||||||
gen-char
|
gen-char
|
||||||
|
|
||||||
string?
|
string?
|
||||||
(λ (fuel)
|
string-gen
|
||||||
(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)))
|
|
||||||
|
|
||||||
|
|
||||||
byte?
|
byte?
|
||||||
|
|
Loading…
Reference in New Issue
Block a user