Bogdanp / rackcheck

A property-based testing library for Racket.
28 stars 7 forks source link

Specifying custom size function causes contract error #3

Closed laelath closed 2 years ago

laelath commented 2 years ago

Minimal test case:

> (check-property
   (make-config #:size identity)
   (property () #t))
--------------------
ERROR
location:   2-interactions from an unsaved editor:31:2
name:       unnamed
seed:       433968128
params:     '(#<prop> #<config>)

make-config: broke its own contract
  promised: exact-positive-integer?
  produced: 0
  in: the 1st argument of
      the #:size argument of
      (->*
       ()
       (#:deadline
        (>=/c 0)
        #:seed
        (integer-in 0 2147483647)
        #:size
        (-> exact-positive-integer? natural?)
        #:tests
        exact-positive-integer?)
       config?)
  contract from: (function make-config)
  blaming: (function make-config)
   (assuming the contract is correct)
  at: <pkgs>/rackcheck/prop.rkt:65:18
--------------------