We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qcheck
Just leaving this here as a suggestion for investigation.
The qcheck is a QuickCheck-like library for OCaml. It can be used to define property-based tests easily.
The documentation gives an example of a test that checks that List.rev is involutive. In addition, the library provides an easy way to convert a qcheck test into an OUnit test.
List.rev
In addition to abstract algebraic properties, you could also specify operational properties like:
let oracle_elem x l = elem x l = Oracle.elem x l
which says that the student implementation of elem agrees with Oracle.elem on all inputs (where Oracle.elem is the instructor solution).
elem
Oracle.elem
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Just leaving this here as a suggestion for investigation.
The
qcheck
is a QuickCheck-like library for OCaml. It can be used to define property-based tests easily.The documentation gives an example of a test that checks that
List.rev
is involutive. In addition, the library provides an easy way to convert aqcheck
test into an OUnit test.In addition to abstract algebraic properties, you could also specify operational properties like:
which says that the student implementation of
elem
agrees withOracle.elem
on all inputs (whereOracle.elem
is the instructor solution).The text was updated successfully, but these errors were encountered: