Search code examples
racketquickcheck

How do I test my racket quickcheck generator?


Lets say I have a generator for interval structs e.g.

(struct interval (lo hi)
      #:methods gen:custom-write
    [(define write-proc
       (make-constructor-style-printer
        (lambda (obj) 'interval)
        (lambda (obj) (list (interval-hi obj) (interval-lo obj)))))])

(define (choose-interval [min-value -100] [max-value 100])
  (bind-generators
   ([lo (choose-real min-value max-value)]
    [hi (choose-real lo max-value)])
   (interval lo hi)))

According to the docs generator has a member called proc that takes a test size argument and a random number generator. But where do I get this random number generator? The make-random-generator symbol in the docs is not actually exported by the module!

How do i get some values out of this generator so I can be sure it is working correctly?


Solution

  • make-random-generator should be exported. See This PR.