Functional Problem Solving (CSC 151 2015F) : Reference

# RackUnit Quick Reference Page

This page gives a quick list of the RackUnit procedures we use. For further detail, you should refer to the official RackUnit documentation, which is available at http://docs.racket-lang.org/rackunit/.

```(check-= expression expected epsilon)``` , ```(check-= expression expected epsilon optional-message)```
RackUnit procedure. Evaluate `expression` and `expected` and then compare them for numeric equality (within `epsilon`). If they are equal, do nothing. If they are not equal, print an error message. If the optional message is included, also print that message.
```(check-equal? expression expected)``` , ```(check-equal? expression expected optional-message)```
RackUnit procedure. Evaluate `expression` and `expected` and then compare them for equality. If they are equal, do nothing. If they are not equal, print an error message. If the optional message is included, also print that message.
```(check-not-equal? expression expected)``` , ```(check-not-equal? expression expected optional-message)```
RackUnit procedure. Evaluate `expression` and `expected` and then compare them. If they are not equal, do nothing. If they are equal, print an error message. If the optional message is included, also print that message.
```(check-true expression)``` , ```(check-true expression optional-message)```
RackUnit procedure. Evaluate `expression` and determine whether it is true (`#t`). If so, do nothing. If not, print an error message. If the optional message is included, also print that message.
```(test-case description check-1 ... check-n)```
RackUnit procedure. Create a new test case by running a series of checks.
```(test-suite description check-or-test-or-suite-1 ... check-or-test-or-suite-n)```
RackUnit procedure. Create a new test suite that groups together a variety of checks, tests, and other suites. Unlike tests and checks, which are executed immediately, test suites are objects that can be run separately.