(uniform-vector-ref): Exercise byte returns.
authorKevin Ryde <user42@zip.com.au>
Fri, 6 Aug 2004 00:27:31 +0000 (00:27 +0000)
committerKevin Ryde <user42@zip.com.au>
Fri, 6 Aug 2004 00:27:31 +0000 (00:27 +0000)
test-suite/tests/unif.test

index 946cbba..f60d3bc 100644 (file)
        (uniform-array-set1! a 'y '(4 . 8)))
       (pass-if-exception "three improper indexes" exception:wrong-num-args
        (uniform-array-set1! a 'y '(4 8 . 0))))))
+
+;;;
+;;; uniform-vector-ref
+;;;
+
+(with-test-prefix "uniform-vector-ref"
+
+  (with-test-prefix "byte"
+
+    (let ((a (make-uniform-array #\nul 1)))
+
+      (pass-if "0"
+       (begin
+         (array-set! a 0 0)
+         (= 0 (uniform-vector-ref a 0))))
+      (pass-if "127"
+       (begin
+         (array-set! a 127 0)
+         (= 127 (uniform-vector-ref a 0))))
+      (pass-if "-128"
+       (begin
+         (array-set! a -128 0)
+         (= -128 (uniform-vector-ref a 0))))
+
+      (pass-if "#\\nul"
+       (begin
+         (array-set! a #\nul 0)
+         (= 0 (uniform-vector-ref a 0))))
+      (pass-if "#\\del"
+       (begin
+         (array-set! a #\del 0)
+         (= 127 (uniform-vector-ref a 0))))
+      (pass-if "char 255"
+       (begin
+         (array-set! a (integer->char 255) 0)
+         (= -1 (uniform-vector-ref a 0))))
+      (pass-if "char 128"
+       (begin
+         (array-set! a (integer->char 128) 0)
+         (= -128 (uniform-vector-ref a 0)))))))