Skip to content

Commit c4805e4

Browse files
committed
Add unit test for 2-30
1 parent 5cd2536 commit c4805e4

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

chapter2/exercise2-30.scm

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,24 @@
44

55
(define (square-tree tree)
66
(cond ((null? tree) tree)
7-
((not (pair? tree)) (square tree))
8-
(else
9-
(cons (square-tree (car tree)) (square-tree (cdr tree))))))
7+
((not (pair? tree)) (square tree))
8+
(else
9+
(cons (square-tree (car tree)) (square-tree (cdr tree))))))
1010

1111
(define (square-tree-v2 tree)
1212
(map (lambda (sub-tree)
13-
(if (pair? sub-tree)
14-
(square-tree-v2 sub-tree)
15-
(square sub-tree)))
13+
(if (pair? sub-tree)
14+
(square-tree-v2 sub-tree)
15+
(square sub-tree)))
1616
tree))
1717

1818
(define x (list 1 (list 2 (list 3 4) 5)))
19-
(square-tree x) ; => (1 (4 (9 16) 25))
20-
(square-tree-v2 x); => (1 (4 (9 16) 25))
19+
20+
(module+ test
21+
(require rackunit)
22+
23+
(test-case "Test for square-tree"
24+
(check-equal? (square-tree x) '(1 (4 (9 16) 25)))
25+
(check-equal? (square-tree-v2 x) '(1 (4 (9 16) 25)))
26+
)
27+
)

0 commit comments

Comments
 (0)