mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
cleaning up test names
This commit is contained in:
parent
80d2db51d8
commit
e8f1233e18
10 changed files with 268 additions and 266 deletions
|
@ -20,7 +20,7 @@
|
||||||
(string-split (log->string expr ...) "\n"))
|
(string-split (log->string expr ...) "\n"))
|
||||||
"\n"))))
|
"\n"))))
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "(chibi log)")
|
(test-begin "logging")
|
||||||
(test "D four: 4"
|
(test "D four: 4"
|
||||||
(log->string/no-dates
|
(log->string/no-dates
|
||||||
(log-debug "four: " (+ 2 2))))
|
(log-debug "four: " (+ 2 2))))
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
(export run-tests)
|
(export run-tests)
|
||||||
(begin
|
(begin
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "(chibi show c)")
|
(test-begin "show c")
|
||||||
|
|
||||||
(test "if (1) {
|
(test "if (1) {
|
||||||
2;
|
2;
|
||||||
|
|
|
@ -1,56 +1,56 @@
|
||||||
(define-library (chibi syntax-case-test)
|
(define-library (chibi syntax-case-test)
|
||||||
(export run-tests)
|
(export run-tests)
|
||||||
(import (chibi)
|
(import (chibi)
|
||||||
(chibi syntax-case)
|
(chibi syntax-case)
|
||||||
(chibi test))
|
(chibi test))
|
||||||
(begin
|
(begin
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "Syntax Case")
|
(test-begin "syntax case")
|
||||||
|
|
||||||
(test "syntax constant list"
|
(test "syntax constant list"
|
||||||
'(+ 1 2)
|
'(+ 1 2)
|
||||||
#'(+ 1 2))
|
#'(+ 1 2))
|
||||||
|
|
||||||
(test "pattern variable"
|
(test "pattern variable"
|
||||||
'foo
|
'foo
|
||||||
(syntax-case 'foo ()
|
(syntax-case 'foo ()
|
||||||
(x #'x)))
|
(x #'x)))
|
||||||
|
|
||||||
(test "syntax-case pair"
|
(test "syntax-case pair"
|
||||||
'(a b)
|
'(a b)
|
||||||
(syntax-case '(a . b) ()
|
(syntax-case '(a . b) ()
|
||||||
((x . y) #'(x y))))
|
((x . y) #'(x y))))
|
||||||
|
|
||||||
(test "syntax-case var"
|
(test "syntax-case var"
|
||||||
'a
|
'a
|
||||||
(syntax-case '(a . b) (b)
|
(syntax-case '(a . b) (b)
|
||||||
((b . y) #f)
|
((b . y) #f)
|
||||||
((x . b) #'x)))
|
((x . b) #'x)))
|
||||||
|
|
||||||
(test "syntax-case simple ellipsis"
|
(test "syntax-case simple ellipsis"
|
||||||
'(a b c)
|
'(a b c)
|
||||||
(syntax-case '(a b c) ()
|
(syntax-case '(a b c) ()
|
||||||
((a ...) #'(a ...))))
|
((a ...) #'(a ...))))
|
||||||
|
|
||||||
(test "syntax-case ellipsis with tail"
|
(test "syntax-case ellipsis with tail"
|
||||||
'(a b x c)
|
'(a b x c)
|
||||||
(syntax-case '(a b c) ()
|
(syntax-case '(a b c) ()
|
||||||
((a ... b) #'(a ... x b))))
|
((a ... b) #'(a ... x b))))
|
||||||
|
|
||||||
(test "syntax-case ellipsis with dotted tail"
|
(test "syntax-case ellipsis with dotted tail"
|
||||||
'(a b x c y d)
|
'(a b x c y d)
|
||||||
(syntax-case '(a b c . d) ()
|
(syntax-case '(a b c . d) ()
|
||||||
((a ... b . c) #'(a ... x b y c))))
|
((a ... b . c) #'(a ... x b y c))))
|
||||||
|
|
||||||
(test "syntax-case nested ellipsis"
|
(test "syntax-case nested ellipsis"
|
||||||
'((a b) (d e) c f)
|
'((a b) (d e) c f)
|
||||||
(syntax-case '((a b c) (d e f)) ()
|
(syntax-case '((a b c) (d e f)) ()
|
||||||
(((x ... y) ...) #'((x ...) ... y ...))))
|
(((x ... y) ...) #'((x ...) ... y ...))))
|
||||||
|
|
||||||
(test "with-ellipsis"
|
(test "with-ellipsis"
|
||||||
'((a b))
|
'((a b))
|
||||||
(with-ellipsis :::
|
(with-ellipsis :::
|
||||||
(syntax-case '(a) ()
|
(syntax-case '(a) ()
|
||||||
((... :::) #'((... b) :::)))))
|
((... :::) #'((... b) :::)))))
|
||||||
|
|
||||||
(test-end))))
|
(test-end))))
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
(export run-tests)
|
(export run-tests)
|
||||||
(begin
|
(begin
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "bytevector")
|
(test-begin "scheme bytevector")
|
||||||
;; (test 258 (bytevector-uint-ref #u8(0 1 2 0) 1 (endianness big) 2))
|
;; (test 258 (bytevector-uint-ref #u8(0 1 2 0) 1 (endianness big) 2))
|
||||||
;; (test 513 (bytevector-uint-ref #u8(0 1 2 0) 1 (endianness little) 2))
|
;; (test 513 (bytevector-uint-ref #u8(0 1 2 0) 1 (endianness little) 2))
|
||||||
;; (test -65281
|
;; (test -65281
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
(export run-tests)
|
(export run-tests)
|
||||||
(begin
|
(begin
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-group "ilists"
|
(test-group "srfi-116: ilists"
|
||||||
|
|
||||||
(test-group "ilists/constructors"
|
(test-group "ilists/constructors"
|
||||||
(define abc (ilist 'a 'b 'c))
|
(define abc (ilist 'a 'b 'c))
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
((_ binds mv-expr body ...)
|
((_ binds mv-expr body ...)
|
||||||
(let-values ((binds mv-expr)) body ...))))
|
(let-values ((binds mv-expr)) body ...))))
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-group "ideque"
|
(test-group "srfi-134: ideque"
|
||||||
|
|
||||||
(test-group "ideque/constructors"
|
(test-group "ideque/constructors"
|
||||||
(test '() (ideque->list (ideque)))
|
(test '() (ideque->list (ideque)))
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
(define comparator (make-default-comparator))
|
(define comparator (make-default-comparator))
|
||||||
|
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "SRFI 146: Hashmaps")
|
(test-begin "srfi-146: hashmaps")
|
||||||
|
|
||||||
(test-group "Predicates"
|
(test-group "Predicates"
|
||||||
(define hashmap0 (hashmap comparator))
|
(define hashmap0 (hashmap comparator))
|
||||||
|
@ -438,4 +438,4 @@
|
||||||
(test-assert "=?: unequal hashmaps"
|
(test-assert "=?: unequal hashmaps"
|
||||||
(not (=? comparator hashmap1 hashmap4))))))
|
(not (=? comparator hashmap1 hashmap4))))))
|
||||||
|
|
||||||
(test-end "SRFI 146: Hashmaps"))))
|
(test-end "srfi-146: hashmaps"))))
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
(chibi test))
|
(chibi test))
|
||||||
(begin
|
(begin
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-begin "SRFI 146")
|
(test-begin "srfi-146: mappings")
|
||||||
|
|
||||||
(test-group "Predicates"
|
(test-group "Predicates"
|
||||||
(define mapping0 (mapping comparator))
|
(define mapping0 (mapping comparator))
|
||||||
|
@ -521,6 +521,6 @@
|
||||||
(test-assert "<?: case 3"
|
(test-assert "<?: case 3"
|
||||||
(<? comparator mapping1 mapping5)))))
|
(<? comparator mapping1 mapping5)))))
|
||||||
|
|
||||||
(test-end "SRFI 146"))
|
(test-end "srfi-146: mappings"))
|
||||||
|
|
||||||
(define comparator (make-default-comparator))))
|
(define comparator (make-default-comparator))))
|
||||||
|
|
|
@ -1,267 +1,267 @@
|
||||||
(define-library (srfi 158 test)
|
(define-library (srfi 158 test)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme read)
|
(scheme read)
|
||||||
(srfi 1)
|
(srfi 1)
|
||||||
(srfi 158)
|
(srfi 158)
|
||||||
(chibi test))
|
(chibi test))
|
||||||
(export run-tests)
|
(export run-tests)
|
||||||
(begin
|
(begin
|
||||||
(define (with-input-from-string str thunk)
|
(define (with-input-from-string str thunk)
|
||||||
(parameterize ((current-input-port (open-input-string str)))
|
(parameterize ((current-input-port (open-input-string str)))
|
||||||
(thunk)))
|
(thunk)))
|
||||||
(define g
|
(define g
|
||||||
(make-coroutine-generator
|
(make-coroutine-generator
|
||||||
(lambda (yield) (let loop ((i 0))
|
(lambda (yield) (let loop ((i 0))
|
||||||
(when (< i 3) (yield i) (loop (+ i 1)))))))
|
(when (< i 3) (yield i) (loop (+ i 1)))))))
|
||||||
(define (for-each-digit proc n)
|
(define (for-each-digit proc n)
|
||||||
(when (> n 0)
|
(when (> n 0)
|
||||||
(let-values (((div rem) (truncate/ n 10)))
|
(let-values (((div rem) (truncate/ n 10)))
|
||||||
(proc rem)
|
(proc rem)
|
||||||
(for-each-digit proc div))))
|
(for-each-digit proc div))))
|
||||||
(define g1 (generator 1 2 3))
|
(define g1 (generator 1 2 3))
|
||||||
(define g2 (generator 4 5 6 7))
|
(define g2 (generator 4 5 6 7))
|
||||||
(define (proc . args) (values (apply + args) (apply + args)))
|
(define (proc . args) (values (apply + args) (apply + args)))
|
||||||
(define (small? x) (< x 3))
|
(define (small? x) (< x 3))
|
||||||
(define n 0)
|
(define n 0)
|
||||||
(define (run-tests)
|
(define (run-tests)
|
||||||
(test-group "generators"
|
(test-group "srfi-158: generators"
|
||||||
(test-group "generators/constructors"
|
(test-group "generators/constructors"
|
||||||
(test '() (generator->list (generator)))
|
(test '() (generator->list (generator)))
|
||||||
(test '(1 2 3) (generator->list (generator 1 2 3)))
|
(test '(1 2 3) (generator->list (generator 1 2 3)))
|
||||||
(test '(1 2 3 1 2) (generator->list (circular-generator 1 2 3) 5))
|
(test '(1 2 3 1 2) (generator->list (circular-generator 1 2 3) 5))
|
||||||
(test '(8 9 10) (generator->list (make-iota-generator 3 8)))
|
(test '(8 9 10) (generator->list (make-iota-generator 3 8)))
|
||||||
(test '(8 10 12) (generator->list (make-iota-generator 3 8 2)))
|
(test '(8 10 12) (generator->list (make-iota-generator 3 8 2)))
|
||||||
(test '(3 4 5 6) (generator->list (make-range-generator 3) 4))
|
(test '(3 4 5 6) (generator->list (make-range-generator 3) 4))
|
||||||
(test '(3 4 5 6 7) (generator->list (make-range-generator 3 8)))
|
(test '(3 4 5 6 7) (generator->list (make-range-generator 3 8)))
|
||||||
(test '(3 5 7) (generator->list (make-range-generator 3 8 2)))
|
(test '(3 5 7) (generator->list (make-range-generator 3 8 2)))
|
||||||
|
|
||||||
(test '(0 1 2) (generator->list g))
|
(test '(0 1 2) (generator->list g))
|
||||||
(test '(1 2 3 4 5) (generator->list (list->generator '(1 2 3 4 5))))
|
(test '(1 2 3 4 5) (generator->list (list->generator '(1 2 3 4 5))))
|
||||||
(test '(1 2 3 4 5) (generator->list (vector->generator '#(1 2 3 4 5))))
|
(test '(1 2 3 4 5) (generator->list (vector->generator '#(1 2 3 4 5))))
|
||||||
(test '#(0 0 1 2 4)
|
(test '#(0 0 1 2 4)
|
||||||
(let ((v (make-vector 5 0)))
|
(let ((v (make-vector 5 0)))
|
||||||
(generator->vector! v 2 (generator 1 2 4))
|
(generator->vector! v 2 (generator 1 2 4))
|
||||||
v))
|
v))
|
||||||
(test '(5 4 3 2 1) (generator->list (reverse-vector->generator '#(1 2 3 4 5))))
|
(test '(5 4 3 2 1) (generator->list (reverse-vector->generator '#(1 2 3 4 5))))
|
||||||
(test '(#\a #\b #\c #\d #\e) (generator->list (string->generator "abcde")))
|
(test '(#\a #\b #\c #\d #\e) (generator->list (string->generator "abcde")))
|
||||||
(test '(10 20 30) (generator->list (bytevector->generator (bytevector 10 20 30))))
|
(test '(10 20 30) (generator->list (bytevector->generator (bytevector 10 20 30))))
|
||||||
(test '(5 4 3 2 1) (generator->list
|
(test '(5 4 3 2 1) (generator->list
|
||||||
(make-for-each-generator for-each-digit
|
(make-for-each-generator for-each-digit
|
||||||
12345)))
|
12345)))
|
||||||
(test '(0 2 4 6 8 10) (generator->list
|
(test '(0 2 4 6 8 10) (generator->list
|
||||||
(make-unfold-generator
|
(make-unfold-generator
|
||||||
(lambda (s) (> s 5))
|
(lambda (s) (> s 5))
|
||||||
(lambda (s) (* s 2))
|
(lambda (s) (* s 2))
|
||||||
(lambda (s) (+ s 1))
|
(lambda (s) (+ s 1))
|
||||||
0)))
|
0)))
|
||||||
) ; end "generators/constructors"
|
) ; end "generators/constructors"
|
||||||
|
|
||||||
(test-group "generators/operators"
|
(test-group "generators/operators"
|
||||||
(test '(a b 0 1) (generator->list (gcons* 'a 'b (make-range-generator 0 2))))
|
(test '(a b 0 1) (generator->list (gcons* 'a 'b (make-range-generator 0 2))))
|
||||||
(test '(0 1 2 0 1) (generator->list (gappend (make-range-generator 0 3)
|
(test '(0 1 2 0 1) (generator->list (gappend (make-range-generator 0 3)
|
||||||
(make-range-generator 0 2))))
|
(make-range-generator 0 2))))
|
||||||
(test '() (generator->list (gappend)))
|
(test '() (generator->list (gappend)))
|
||||||
(test '(15 22 31) (generator->list (gcombine proc 10 g1 g2)))
|
(test '(15 22 31) (generator->list (gcombine proc 10 g1 g2)))
|
||||||
(test '(1 3 5 7 9) (generator->list (gfilter
|
(test '(1 3 5 7 9) (generator->list (gfilter
|
||||||
odd?
|
odd?
|
||||||
(make-range-generator 1 11))))
|
(make-range-generator 1 11))))
|
||||||
(test '(2 4 6 8 10) (generator->list (gremove
|
(test '(2 4 6 8 10) (generator->list (gremove
|
||||||
odd?
|
odd?
|
||||||
(make-range-generator 1 11))))
|
(make-range-generator 1 11))))
|
||||||
(set! g (make-range-generator 1 5))
|
(set! g (make-range-generator 1 5))
|
||||||
(test '(1 2 3) (generator->list (gtake g 3)))
|
(test '(1 2 3) (generator->list (gtake g 3)))
|
||||||
(test '(4) (generator->list g))
|
(test '(4) (generator->list g))
|
||||||
(test '(1 2) (generator->list (gtake (make-range-generator 1 3) 3)))
|
(test '(1 2) (generator->list (gtake (make-range-generator 1 3) 3)))
|
||||||
(test '(1 2 0) (generator->list (gtake (make-range-generator 1 3) 3 0)))
|
(test '(1 2 0) (generator->list (gtake (make-range-generator 1 3) 3 0)))
|
||||||
(test '(3 4) (generator->list (gdrop (make-range-generator 1 5) 2)))
|
(test '(3 4) (generator->list (gdrop (make-range-generator 1 5) 2)))
|
||||||
(set! g (make-range-generator 1 5))
|
(set! g (make-range-generator 1 5))
|
||||||
(test '(1 2) (generator->list (gtake-while small? g)))
|
(test '(1 2) (generator->list (gtake-while small? g)))
|
||||||
(set! g (make-range-generator 1 5))
|
(set! g (make-range-generator 1 5))
|
||||||
(test '(3 4) (generator->list (gdrop-while small? g)))
|
(test '(3 4) (generator->list (gdrop-while small? g)))
|
||||||
(test '() (generator->list (gdrop-while (lambda args #t) (generator 1 2 3))))
|
(test '() (generator->list (gdrop-while (lambda args #t) (generator 1 2 3))))
|
||||||
(test '(0.0 1.0 0 2) (generator->list (gdelete 1
|
(test '(0.0 1.0 0 2) (generator->list (gdelete 1
|
||||||
(generator 0.0 1.0 0 1 2))))
|
(generator 0.0 1.0 0 1 2))))
|
||||||
(test '(0.0 0 2) (generator->list (gdelete 1
|
(test '(0.0 0 2) (generator->list (gdelete 1
|
||||||
(generator 0.0 1.0 0 1 2)
|
(generator 0.0 1.0 0 1 2)
|
||||||
=)))
|
=)))
|
||||||
(test '(a c e) (generator->list (gindex (list->generator '(a b c d e f))
|
(test '(a c e) (generator->list (gindex (list->generator '(a b c d e f))
|
||||||
(list->generator '(0 2 4)))))
|
(list->generator '(0 2 4)))))
|
||||||
(test '(a d e) (generator->list (gselect (list->generator '(a b c d e f))
|
(test '(a d e) (generator->list (gselect (list->generator '(a b c d e f))
|
||||||
(list->generator '(#t #f #f #t #t #f)))))
|
(list->generator '(#t #f #f #t #t #f)))))
|
||||||
(test '(1 2 3) (generator->list (gdelete-neighbor-dups
|
(test '(1 2 3) (generator->list (gdelete-neighbor-dups
|
||||||
(generator 1 1 2 3 3 3)
|
(generator 1 1 2 3 3 3)
|
||||||
=)))
|
=)))
|
||||||
(test '(1) (generator->list (gdelete-neighbor-dups
|
(test '(1) (generator->list (gdelete-neighbor-dups
|
||||||
(generator 1 2 3)
|
(generator 1 2 3)
|
||||||
(lambda args #t))))
|
(lambda args #t))))
|
||||||
(test '(1 2 3 a b c)
|
(test '(1 2 3 a b c)
|
||||||
(generator->list
|
(generator->list
|
||||||
(gflatten (generator '(1 2 3) '(a b c)))))
|
(gflatten (generator '(1 2 3) '(a b c)))))
|
||||||
(test '((1 2 3) (4 5 6) (7 8))
|
(test '((1 2 3) (4 5 6) (7 8))
|
||||||
(generator->list (ggroup (generator 1 2 3 4 5 6 7 8) 3)))
|
(generator->list (ggroup (generator 1 2 3 4 5 6 7 8) 3)))
|
||||||
(test '((1 2 3) (4 5 6) (7 8 0))
|
(test '((1 2 3) (4 5 6) (7 8 0))
|
||||||
(generator->list (ggroup (generator 1 2 3 4 5 6 7 8) 3 0)))
|
(generator->list (ggroup (generator 1 2 3 4 5 6 7 8) 3 0)))
|
||||||
(test '(1 2 3)
|
(test '(1 2 3)
|
||||||
(generator->list (gmerge < (generator 1 2 3))))
|
(generator->list (gmerge < (generator 1 2 3))))
|
||||||
(test '(1 2 3 4 5 6)
|
(test '(1 2 3 4 5 6)
|
||||||
(generator->list (gmerge < (generator 1 2 3) (generator 4 5 6))))
|
(generator->list (gmerge < (generator 1 2 3) (generator 4 5 6))))
|
||||||
(test '(1 2 3 4 4 5 6)
|
(test '(1 2 3 4 4 5 6)
|
||||||
(generator->list (gmerge <
|
(generator->list (gmerge <
|
||||||
(generator 1 2 4 6)
|
(generator 1 2 4 6)
|
||||||
(generator)
|
(generator)
|
||||||
(generator 3 4 5))))
|
(generator 3 4 5))))
|
||||||
(test '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
|
(test '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)
|
||||||
(generator->list (gmerge <
|
(generator->list (gmerge <
|
||||||
(generator 1 10 11)
|
(generator 1 10 11)
|
||||||
(generator 2 9 12)
|
(generator 2 9 12)
|
||||||
(generator 3 8 13)
|
(generator 3 8 13)
|
||||||
(generator 4 7 14)
|
(generator 4 7 14)
|
||||||
(generator 5 6 15))))
|
(generator 5 6 15))))
|
||||||
;; check the tie-break rule
|
;; check the tie-break rule
|
||||||
(test '((1 a) (1 e) (1 b) (1 c) (1 d))
|
(test '((1 a) (1 e) (1 b) (1 c) (1 d))
|
||||||
(generator->list (gmerge (lambda (x y) (< (car x) (car y)))
|
(generator->list (gmerge (lambda (x y) (< (car x) (car y)))
|
||||||
(generator '(1 a) '(1 e))
|
(generator '(1 a) '(1 e))
|
||||||
(generator '(1 b))
|
(generator '(1 b))
|
||||||
(generator '(1 c) '(1 d)))))
|
(generator '(1 c) '(1 d)))))
|
||||||
|
|
||||||
(test '(-1 -2 -3 -4 -5)
|
(test '(-1 -2 -3 -4 -5)
|
||||||
(generator->list (gmap - (generator 1 2 3 4 5))))
|
(generator->list (gmap - (generator 1 2 3 4 5))))
|
||||||
(test '(7 9 11 13)
|
(test '(7 9 11 13)
|
||||||
(generator->list (gmap +
|
(generator->list (gmap +
|
||||||
(generator 1 2 3 4 5)
|
(generator 1 2 3 4 5)
|
||||||
(generator 6 7 8 9))))
|
(generator 6 7 8 9))))
|
||||||
(test '(54 140 264)
|
(test '(54 140 264)
|
||||||
(generator->list (gmap *
|
(generator->list (gmap *
|
||||||
(generator 1 2 3 4 5)
|
(generator 1 2 3 4 5)
|
||||||
(generator 6 7 8)
|
(generator 6 7 8)
|
||||||
(generator 9 10 11 12 13))))
|
(generator 9 10 11 12 13))))
|
||||||
(test '(a c e g i)
|
(test '(a c e g i)
|
||||||
(generator->list
|
(generator->list
|
||||||
(gstate-filter
|
(gstate-filter
|
||||||
(lambda (item state) (values (even? state) (+ 1 state)))
|
(lambda (item state) (values (even? state) (+ 1 state)))
|
||||||
0
|
0
|
||||||
(generator 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j))))
|
(generator 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j))))
|
||||||
) ; end "generators/operators"
|
) ; end "generators/operators"
|
||||||
|
|
||||||
|
|
||||||
(test-group "generators/consumers"
|
(test-group "generators/consumers"
|
||||||
;; no test for plain generator->list (used throughout)
|
;; no test for plain generator->list (used throughout)
|
||||||
(test '(1 2 3) (generator->list (generator 1 2 3 4 5) 3))
|
(test '(1 2 3) (generator->list (generator 1 2 3 4 5) 3))
|
||||||
(test '(5 4 3 2 1) (generator->reverse-list (generator 1 2 3 4 5)))
|
(test '(5 4 3 2 1) (generator->reverse-list (generator 1 2 3 4 5)))
|
||||||
(test '#(1 2 3 4 5) (generator->vector (generator 1 2 3 4 5)))
|
(test '#(1 2 3 4 5) (generator->vector (generator 1 2 3 4 5)))
|
||||||
(test '#(1 2 3) (generator->vector (generator 1 2 3 4 5) 3))
|
(test '#(1 2 3) (generator->vector (generator 1 2 3 4 5) 3))
|
||||||
(test "abc" (generator->string (generator #\a #\b #\c)))
|
(test "abc" (generator->string (generator #\a #\b #\c)))
|
||||||
(test '(e d c b a . z) (with-input-from-string "a b c d e"
|
(test '(e d c b a . z) (with-input-from-string "a b c d e"
|
||||||
(lambda () (generator-fold cons 'z read))))
|
(lambda () (generator-fold cons 'z read))))
|
||||||
|
|
||||||
(generator-for-each (lambda values (set! n (apply + values)))
|
(generator-for-each (lambda values (set! n (apply + values)))
|
||||||
(generator 1) (generator 2) (generator 3))
|
(generator 1) (generator 2) (generator 3))
|
||||||
(test 6 n)
|
(test 6 n)
|
||||||
(test '(6 15)
|
(test '(6 15)
|
||||||
(generator-map->list (lambda values (apply + values))
|
(generator-map->list (lambda values (apply + values))
|
||||||
(generator 1 4) (generator 2 5) (generator 3 6)))
|
(generator 1 4) (generator 2 5) (generator 3 6)))
|
||||||
(test 3 (generator-find (lambda (x) (> x 2)) (make-range-generator 1 5)))
|
(test 3 (generator-find (lambda (x) (> x 2)) (make-range-generator 1 5)))
|
||||||
(test 2 (generator-count odd? (make-range-generator 1 5)))
|
(test 2 (generator-count odd? (make-range-generator 1 5)))
|
||||||
(set! g (make-range-generator 2 5))
|
(set! g (make-range-generator 2 5))
|
||||||
(test #t (generator-any odd? g))
|
(test #t (generator-any odd? g))
|
||||||
(test '(4) (generator->list g))
|
(test '(4) (generator->list g))
|
||||||
(set! g (make-range-generator 2 5))
|
(set! g (make-range-generator 2 5))
|
||||||
(test #f (generator-every odd? g))
|
(test #f (generator-every odd? g))
|
||||||
(test '(3 4) (generator->list g))
|
(test '(3 4) (generator->list g))
|
||||||
(test '(#\a #\b #\c) (generator-unfold (make-for-each-generator string-for-each "abc") unfold))
|
(test '(#\a #\b #\c) (generator-unfold (make-for-each-generator string-for-each "abc") unfold))
|
||||||
|
|
||||||
) ; end "generators/consumers"
|
) ; end "generators/consumers"
|
||||||
|
|
||||||
) ; end "generators"
|
) ; end "generators"
|
||||||
|
|
||||||
|
|
||||||
(test-group "accumulators"
|
(test-group "srfi-158: accumulators"
|
||||||
(test -8
|
(test -8
|
||||||
(let ((a (make-accumulator * 1 -)))
|
(let ((a (make-accumulator * 1 -)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test 3
|
(test 3
|
||||||
(let ((a (count-accumulator)))
|
(let ((a (count-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '(1 2 4)
|
(test '(1 2 4)
|
||||||
(let ((a (list-accumulator)))
|
(let ((a (list-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '(4 2 1)
|
(test '(4 2 1)
|
||||||
(let ((a (reverse-list-accumulator)))
|
(let ((a (reverse-list-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '#(1 2 4)
|
(test '#(1 2 4)
|
||||||
(let ((a (vector-accumulator)))
|
(let ((a (vector-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '#(0 0 1 2 4)
|
(test '#(0 0 1 2 4)
|
||||||
(let* ((v (vector 0 0 0 0 0))
|
(let* ((v (vector 0 0 0 0 0))
|
||||||
(a (vector-accumulator! v 2)))
|
(a (vector-accumulator! v 2)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '#u8(0 0 1 2 4)
|
(test '#u8(0 0 1 2 4)
|
||||||
(let* ((v (bytevector 0 0 0 0 0))
|
(let* ((v (bytevector 0 0 0 0 0))
|
||||||
(a (bytevector-accumulator! v 2)))
|
(a (bytevector-accumulator! v 2)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test '#(4 2 1)
|
(test '#(4 2 1)
|
||||||
(let ((a (reverse-vector-accumulator)))
|
(let ((a (reverse-vector-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test "abc"
|
(test "abc"
|
||||||
(let ((a (string-accumulator)))
|
(let ((a (string-accumulator)))
|
||||||
(a #\a)
|
(a #\a)
|
||||||
(a #\b)
|
(a #\b)
|
||||||
(a #\c)
|
(a #\c)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test #u8(1 2 4)
|
(test #u8(1 2 4)
|
||||||
(let ((a (bytevector-accumulator)))
|
(let ((a (bytevector-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test 7
|
(test 7
|
||||||
(let ((a (sum-accumulator)))
|
(let ((a (sum-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
(test 8
|
(test 8
|
||||||
(let ((a (product-accumulator)))
|
(let ((a (product-accumulator)))
|
||||||
(a 1)
|
(a 1)
|
||||||
(a 2)
|
(a 2)
|
||||||
(a 4)
|
(a 4)
|
||||||
(a (eof-object))))
|
(a (eof-object))))
|
||||||
|
|
||||||
) ; end "accumulators"
|
) ; end "accumulators"
|
||||||
|
|
||||||
)))
|
)))
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
(rename (srfi 151 test) (run-tests run-srfi-151-tests))
|
(rename (srfi 151 test) (run-tests run-srfi-151-tests))
|
||||||
(rename (srfi 158 test) (run-tests run-srfi-158-tests))
|
(rename (srfi 158 test) (run-tests run-srfi-158-tests))
|
||||||
(rename (srfi 160 test) (run-tests run-srfi-160-tests))
|
(rename (srfi 160 test) (run-tests run-srfi-160-tests))
|
||||||
|
(rename (scheme bytevector-test) (run-tests run-scheme-bytevector-tests))
|
||||||
(rename (chibi base64-test) (run-tests run-base64-tests))
|
(rename (chibi base64-test) (run-tests run-base64-tests))
|
||||||
(rename (chibi bytevector-test) (run-tests run-bytevector-tests))
|
(rename (chibi bytevector-test) (run-tests run-bytevector-tests))
|
||||||
(rename (chibi crypto md5-test) (run-tests run-md5-tests))
|
(rename (chibi crypto md5-test) (run-tests run-md5-tests))
|
||||||
|
@ -99,6 +100,7 @@
|
||||||
(run-srfi-151-tests)
|
(run-srfi-151-tests)
|
||||||
(run-srfi-158-tests)
|
(run-srfi-158-tests)
|
||||||
(run-srfi-160-tests)
|
(run-srfi-160-tests)
|
||||||
|
(run-scheme-bytevector-tests)
|
||||||
(run-base64-tests)
|
(run-base64-tests)
|
||||||
(run-bytevector-tests)
|
(run-bytevector-tests)
|
||||||
(run-doc-tests)
|
(run-doc-tests)
|
||||||
|
|
Loading…
Add table
Reference in a new issue