-
Notifications
You must be signed in to change notification settings - Fork 0
/
assert.scm
36 lines (30 loc) · 892 Bytes
/
assert.scm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(define (assert-equal expected actual)
(if (= expected actual)
(display "Test passed.\n")
(display-failed expected actual)))
(define (assert-equal-cons expected actual)
(if (and (= (car expected) (car actual))
(= (cdr expected) (cdr actual)))
(display "Test passed.\n")
(display-failed expected actual)))
(define (display-failed expected actual)
(display "Test failed. Expected: ")
(display expected)
(display ". But was: ")
(display actual)
(newline))
(define (assert-false predicate)
(if (not predicate)
(display "Test passed.\n")
(display "Test failed.\n")
))
(define (assert-true predicate)
(if predicate
(display "Test passed.\n")
(display "Test failed.\n")
))
(define (assert-close expected actual)
(if (< (abs (- expected actual)) 0.0001)
(display "Test passed.\n")
(display "Test failed.\n")
))