Skip to content

Latest commit

 

History

History
18 lines (13 loc) · 797 Bytes

README.md

File metadata and controls

18 lines (13 loc) · 797 Bytes

Attempted translation of the QuickCheck properties in this paper:

"How to specify it!" - John Hughes

https://www.dropbox.com/s/tx2b84kae4bw1p4/paper.pdf?dl=0

Into Clojure test.check properties. I recreated the first 5 bugs in the paper (and the test.check properties do fail on them) but got bored after that as they assumed an implementation of union that isn't as silly as mine. Run the properties by redefining the vars at the top of bst-spec to point to the implementation of your choice and running check-props. There's also a BST that passes all the tests in bst. It's stupidly slow.

Would love some help in how to make the bst-spec namespace

  1. have less boilerplate
  2. be more idiomatic.
  3. I couldn't figure out how to make properties that test shrinking as in the paper