awhen-test.rkt (549B)
1 #lang racket 2 3 (require anaphoric/awhen 4 rackunit) 5 6 (define lst '(x y z a b c)) 7 (define seen 0) 8 9 (check-equal? (awhen (member 'absent lst) 10 (fail "awhen should not have executed body") 11 'seen) 12 (void)) 13 14 (check-equal? (awhen (member 'a lst) 15 it) 16 '(a b c)) 17 18 19 (check-equal? (awhen (member 'a lst) 20 (set! seen (add1 seen)) 21 (check-equal? it '(a b c)) 22 'seen) 23 'seen) 24 (check-equal? seen 1) ;; Multiple body statements