43 lines
984 B
Scheme
43 lines
984 B
Scheme
(import (scheme base)
|
|
(picrin test))
|
|
|
|
(test-begin)
|
|
|
|
(define (char-inc c)
|
|
(integer->char (+ (char->integer c) 1)))
|
|
|
|
(define (char-dec c)
|
|
(integer->char (- (char->integer c) 1)))
|
|
|
|
(test "tsvcmxdmqr"
|
|
(string-map (lambda (c k)
|
|
((if (eqv? k #\+) char-inc char-dec) c))
|
|
"studlycnps xxx"
|
|
"+-+-+-+-+-"))
|
|
|
|
(test "abcdefgh"
|
|
(begin
|
|
(define s "")
|
|
(string-for-each
|
|
(lambda (a b)
|
|
(set! s (string-append s (string a b))))
|
|
"aceg hij"
|
|
"bdfh")
|
|
s))
|
|
|
|
(test #(#(1 6 9) #(2 7 10) #(3 8 11))
|
|
(vector-map vector #(1 2 3 4 5) #(6 7 8) #(9 10 11 12)))
|
|
|
|
(test "(1 4 1)(2 5 1)"
|
|
(call-with-port (open-output-string)
|
|
(lambda (port)
|
|
(parameterize ((current-output-port port))
|
|
(vector-for-each
|
|
(lambda args (display args))
|
|
#(1 2 3)
|
|
#(4 5)
|
|
#(1 1))
|
|
(get-output-string port)))))
|
|
|
|
(test-end)
|