38 lines
932 B
Scheme
38 lines
932 B
Scheme
|
|
(library (tests fasl)
|
|
(export test-fasl)
|
|
(import (ikarus) (tests framework))
|
|
|
|
(define (test x)
|
|
(printf "test-fasl ~s\n" x)
|
|
(let-values ([(p e) (open-bytevector-output-port)])
|
|
(fasl-write x p)
|
|
(let ([bv (e)])
|
|
(let ([y (fasl-read (open-bytevector-input-port bv))])
|
|
(unless (equal? x y)
|
|
(error 'test-fasl "failed/expected" y x))))))
|
|
|
|
(define (test-fasl)
|
|
(test 12)
|
|
(test -12)
|
|
(test (greatest-fixnum))
|
|
(test (least-fixnum))
|
|
(test 0)
|
|
(test #t)
|
|
(test #f)
|
|
(test '())
|
|
(test "Hello")
|
|
(test 'hello)
|
|
(test '(Hello There))
|
|
(test 3498798327498723894789237489324)
|
|
(test -3498798327498723894789237489324)
|
|
(test 2389478923749872389723894/23498739874892379482374)
|
|
(test -2389478923749872389723894/23498739874892379482374)
|
|
(test 127487384734.4)
|
|
(test (make-rectangular 12 13))
|
|
(test (make-rectangular 12.0 13.0)))
|
|
|
|
)
|
|
|
|
|