racket/collects/tests/frtime/dv.rkt
2010-04-27 16:50:15 -06:00

38 lines
806 B
Racket

#lang scheme
(require frtime/core/dv
scheme/package
tests/eli-tester)
(define (dv:ref* d l)
(for/list ([i (in-list l)])
(dv:ref d i)))
(test
(dv:length (dv:make 5)) => 0)
(package-begin
(define d (dv:make 5))
(test
(dv? d) => true
(dv:append d 1) => (void)
(dv:length d) => 1
(dv:ref d 0) => 1
(dv:set! d 0 2) => (void)
(dv:ref d 0) => 2
(dv:remove-last d) => (void)
(dv:length d) => 0
(dv:ref d 0) => 0
(dv:append d 1) => (void)
(dv:append d 2) => (void)
(dv:append d 3) => (void)
(dv:ref* d (list 0 1 2)) => (list 1 2 3)
(dv:set! d 0 4) => (void)
(dv:ref* d (list 0 1 2)) => (list 4 2 3)
(dv:remove-last d) => (void)
(dv:ref* d (list 0 1 2)) => (list 4 2 0)
(dv:append d 5) => (void)
(dv:ref* d (list 0 1 2)) => (list 4 2 5)
))