Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
cl-quickcheck - a Common Lisp port of the QuickCheck unit test framework
Common Lisp Ruby
branch: master
Failed to load latest commit information.
features cucumber over different RNG seeds
.editorconfig editorconfig
.gitignore editorconfig
Gemfile editorconfig
Guardfile-cucumber regex
LICENSE.md lili
README.md editorconfig
Rakefile editorconfig
alpha.lisp lili
cl-quickcheck.asd lili
cl-quickcheck.lisp newlines
documentation.txt lili
example.lisp lili
inv-idx.lisp Converted all files to Unix line endings.
lsets.lisp Converted all files to Unix line endings.
money.lisp newlines
package.json editorconfig
qcpaper.lisp lili
self-test.lisp lili
updoc.lisp lili

README.md

cl-quickcheck - a Common Lisp port of the QuickCheck unit test framework

EXAMPLE

$ clisp example.lisp 
Starting tests with seed #S(RANDOM-STATE #*1111111000010000101001011100110101100110011101010000110100110111)
...
ERROR (ISNT MONEY= (DOLLARS 'M) (FRANCS M))

=: M is not a number

  with values #S(MONEY :AMOUNT M :CURRENCY USD) #S(MONEY :AMOUNT -2 :CURRENCY FRANC)
  for ((M -2))
  100/100 counterexamples.
FAIL (IS MONEY= (DOLLARS M) (DOLLARS N))
  with values #S(MONEY :AMOUNT 11 :CURRENCY USD) #S(MONEY :AMOUNT -19 :CURRENCY USD)
  for ((M 11) (N -19))
  98/100 counterexamples.
  0 cases checked and passed in 100 attempts.
95 tests submitted; 2 FAILED.

See example.lisp for more information.

HOMEPAGE

http://www.yellosoft.us/quickcheck

INSTALL

$ clisp
> (ql:quickload 'cl-quickcheck)

REQUIREMENTS

Optional

DEVELOPMENT

Testing

Ensure the example script works as expected:

$ bundle
$ cucumber
Feature: Run example tests

  Scenario: Running example tests            # features/run_example_tests.feature:3
    Given the program has finished           # features/step_definitions/steps.rb:1
    Then the output is correct for each test # features/step_definitions/steps.rb:5

1 scenario (1 passed)
2 steps (2 passed)
0m4.913s

Guard can automatically run testing when the code changes:

$ bundle
$ guard -G Guardfile-cucumber
...

Linting

Keep the code tidy:

$ npm install
$ rake lint
...
Something went wrong with that request. Please try again.