racket/collects/tests/srfi/43/mutator-tests.ss
Chongkai Zhu 0a32a8d304 update
svn: r5974
2007-04-18 02:38:58 +00:00

103 lines
2.7 KiB
Scheme

(module mutator-tests mzscheme
(require (planet "test.ss" ("schematics" "schemeunit.plt" 2)))
(require (lib "vector-lib.ss" "srfi" "43"))
(provide mutator-tests)
(define mutator-tests
(test-suite
"All tests for mutator"
(test-case
"vector-swap!"
(let ((vec '#(a b c d e)))
(check-equal?
(begin (vector-swap! vec 1 3)
vec)
'#(a d c b e)))
(let ((vec '#(0 1 2)))
(check-equal?
(begin (vector-swap! vec 1 1)
vec)
'#(0 1 2))))
(test-case
"vector-fill!"
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (s:vector-fill! vec 0)
vec)
'#(0 0 0 0 0)))
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (s:vector-fill! vec 0 1)
vec)
'#(1 0 0 0 0)))
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (s:vector-fill! vec 0 1 4)
vec)
'#(1 0 0 0 5))))
(test-case
"vector-reverse!"
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (vector-reverse! vec)
vec)
'#(5 4 3 2 1)))
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (vector-reverse! vec 1)
vec)
'#(1 5 4 3 2)))
(let ((vec '#(1 2 3 4 5)))
(check-equal?
(begin (vector-reverse! vec 1 4)
vec)
'#(1 4 3 2 5))))
(test-case
"vector-copy!"
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-copy! target 0 source)
target)
source))
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-copy! target 1 source 1)
target)
'#(0 2 3 4 5)))
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-copy! target 1 source 1 4)
target)
'#(0 2 3 4 0))))
(test-case
"vector-reverse-copy!"
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-reverse-copy! target 0 source)
target)
'#(5 4 3 2 1)))
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-reverse-copy! target 1 source 1)
target)
'#(0 5 4 3 2)))
(let ((source '#(1 2 3 4 5))
(target '#(0 0 0 0 0)))
(check-equal?
(begin (vector-reverse-copy! target 1 source 1 4)
target)
'#(0 4 3 2 0))))
))
)