diff --git a/README.md b/README.md index cb0a093..434d379 100644 --- a/README.md +++ b/README.md @@ -92,17 +92,44 @@ Support Modules ### Testing +This module provides simple syntax forms for (unit) testing of other +modules. + + (run-tests name body ...) + +* ```name``` - identifier describing the module being tested +* ```body ...``` - test expressions + +Runs all tests specified on the ```body ...```. Firstly it prints +"[test] name " at the beginning of the line. Secondly it runs all +tests, printing "." for each test successfully passed. If all tests +pass, prints " ok." and moves the cursor to the next line. + +In case any of the tests fails, exception is raised and program +terminates. + + (test-eq? name expression expected-result) + +* ```name``` - identifier representing the name of the test +* ```expression``` - expression to be evaluated +* ```expected-result``` - expected result of the test expression + +Evaluates the test ```expression``` and compares the result with +```expected-result``` using ```eq?```. If the comparison fails, an +exception is raised with the ```name``` of the test added to the +exception. If the test passes, prints "." like all tests from this +module do. + ### Utils To ensure there are no external dependencies (including chicken eggs), this module re-implements any basic procedures which are required for any algorithms used. -#### Filter - (filter pred? lst) * ```pred?``` - procedure accepting any value and returning #t or #f * ```lst``` - list to be filtered -Returns a list containing only elements matching given ```pred?``` predicate. +Returns a list containing only elements matching given ```pred?``` +predicate.