Author: yamakenz Date: Wed Sep 12 11:33:33 2007 New Revision: 4952 Modified: sigscheme-trunk/test/test-srfi43.scm
Log: * test/test-srfi43.scm - Add tests for vector->list, to test real let-vector-start+end use Modified: sigscheme-trunk/test/test-srfi43.scm ============================================================================== --- sigscheme-trunk/test/test-srfi43.scm (original) +++ sigscheme-trunk/test/test-srfi43.scm Wed Sep 12 11:33:33 2007 @@ -215,4 +215,68 @@ (test-error (let-vector-start+end vector-ref vec '(3 3) (start end) #t)) (test-end) +;; Test real let-vector-start+end use. +(test-begin "vector->list R5RS") +(test-equal '() + (vector->list '#())) +(test-equal '(0 1 2 3 4) + (vector->list '#(0 1 2 3 4))) +(test-end) + +(test-begin "vector->list with start index") +(test-error (vector->list '#(0 1 2 3 4) -1)) +(test-equal '(0 1 2 3 4) + (vector->list '#(0 1 2 3 4) 0)) +(test-equal '(1 2 3 4) + (vector->list '#(0 1 2 3 4) 1)) +(test-equal '(2 3 4) + (vector->list '#(0 1 2 3 4) 2)) +(test-equal '(3 4) + (vector->list '#(0 1 2 3 4) 3)) +(test-equal '(4) + (vector->list '#(0 1 2 3 4) 4)) +(cond-expand + (gauche + (test-equal '() + (vector->list '#(0 1 2 3 4) 5))) + (else + (test-error (vector->list '#(0 1 2 3 4) 5)))) +(test-error (vector->list '#(0 1 2 3 4) 6)) +(test-end) + +(test-begin "vector->list with start and end index") +(test-error (vector->list '#(0 1 2 3 4) 0 -1)) +(test-equal '() + (vector->list '#(0 1 2 3 4) 0 0)) +(test-equal '(0) + (vector->list '#(0 1 2 3 4) 0 1)) +(test-equal '(0 1) + (vector->list '#(0 1 2 3 4) 0 2)) +(test-equal '(0 1 2 3 4) + (vector->list '#(0 1 2 3 4) 0 5)) +(test-error (vector->list '#(0 1 2 3 4) 0 6)) + +(test-error (vector->list '#(0 1 2 3 4) 1 0)) +(test-equal '() + (vector->list '#(0 1 2 3 4) 1 1)) +(test-equal '(1) + (vector->list '#(0 1 2 3 4) 1 2)) +(test-equal '(1 2) + (vector->list '#(0 1 2 3 4) 1 3)) +(test-equal '(1 2 3 4) + (vector->list '#(0 1 2 3 4) 1 5)) + +(test-error (vector->list '#(0 1 2 3 4) 4 3)) +(test-equal '() + (vector->list '#(0 1 2 3 4) 4 4)) +(test-equal '(4) + (vector->list '#(0 1 2 3 4) 4 5)) +(cond-expand + (gauche + (test-equal '() + (vector->list '#(0 1 2 3 4) 5 5))) + (else + (test-error (vector->list '#(0 1 2 3 4) 5 5)))) +(test-end) + (test-report-result)
