ABOUT TESTSUITES AND TESTCASES. A testsuite - or a testcase repository - consists of a number of testcases. The file testcases in the current test directory contains the testcases in the current testsuite. Each testcase is organized as a list structure. A normal, functional testcase has the following form: (functional-testcase ) When the expression was tested it gave the result . The value of and fulfill the . is a unique id of a testcase. is a list of two symbols that tells how and respectively are encoded in the testcase. The encoding raw-text implies no encoding. The encocding number-encoded implies that each character in the corresponding string (expression or value) is given as a number. (The encoding is necessary of underlying technical reasons, which is related to use of the Emacs lisp reader). If number-encoding is used, we give the approximative text of the expression and/or the value as an Lisp comment. clauses define a relationship between test cases and documentation entries. can be a list that starts with the symbol use-as-example. Additional optional elements (all strings) enumerate function names, for which this testcase should serve as an example. If no names are found after use-as-example (the default case) the testcase applies to all functions, which appear in the expression. Any other value of , such as #f or do-not-use-as-example, will cause this testcase to be disregarded as an example in SchemeDoc. A functional error testcase is structured like this: (error-functional-testcase ) When was evaluted it gave an error. , , , and is as above. However, there is only one element in the (namely the encoding of expression). is not yet used (but it is intended to give additional details about the error). As an example the testcase (functional-testcase "17900-10366" (raw-text raw-text) (use-as-example) "=" "(+ 1 2)" "3" ) reflects that (+ 1 2) is considered equal to 3 using the assertion = . Thus: (= (+ 1 2) 3) The testcase (functional-testcase "17379-45171" (raw-text raw-text) (use-as-example "make-selector-function") "equal?" "((make-selector-function 3) (list 1 2 3))" "3" ) is similar. It is explictly emphasized that this testcase serves as an example of make-selector-function. Similarly, the testcase (error-functional-testcase "17900-10458" (raw-text) (use-as-example) "(/ 5 0)" error) reflects that the expression (/ 5 0) gives rise to an error. If the cursor (the Emacs point) is located over a test case id, you can use the command M-x find-testcase to locate the testcase form. The Emacs command M-x evaluate-current-testcase, bound to M-C-x and available in the Unit Testing menu, can be used on testcases to facilitate easy re-evaluation of the expression of the testcase. Imperative testcases are supported at a lower level than described above (at the level of the underlying unit testing tool).