1 ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; indent-tabs-mode: nil -*-
3 ;;; --- rods test suite.
6 (in-package :iolib-tests
)
8 (in-suite :iolib.base.rods
)
12 (is-true (typep (make-rod 1) '(rod 1))))
15 (is-true (= 0 (aref (make-rod 1) 0))))
18 (is-true (= 40 (aref (make-rod 1 :initial-element
40) 0))))
20 (test make-rod.error
.1
22 (make-rod -
1 :initial-element
40)))
24 (test make-rod.error
.2
26 (make-rod 1 :initial-element -
1)))
28 (test make-rod.error
.3
30 (make-rod 1 :initial-element rune-code-limit
)))
32 (test make-rod.error
.3
34 (make-rod 1 :initial-element
#\a)))
38 (is-true (typep (string-rod "a") '(rod 1))))
41 (is (equalp #(97) (string-rod "a"))))
44 (is (equalp #(97) (string-rod #\a))))
47 (is (equalp #(65) (string-rod 'a
))))
51 (is (equalp #(97) (rod (make-rod 1 :initial-element
97)))))
54 (is (equalp #(97) (rod 97))))
57 (is (equalp #(97) (rod #(97)))))
60 (is (equalp #(97) (rod "a"))))
63 (is (equalp #(97) (rod #\a))))
66 (is (equalp #(65) (rod 'a
))))
70 (let ((rod (make-rod 1 :initial-element
100)))
71 (eq rod
(rod rod
:new nil
)))))
75 (let ((rod (make-rod 1 :initial-element
100)))
76 (eq rod
(rod rod
:new t
)))))
80 (rod (make-hash-table))))