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 (string-rod "a")
45 (is (equalp (string-rod #\a)
49 (is (equalp (string-rod 'a
)
54 (is (equalp #(97) (rod (make-rod 1 :initial-element
97)))))
57 (is (equalp #(97) (rod 97))))
60 (is (equalp #(97) (rod #(97)))))
63 (is (equalp #(97) (rod "a"))))
66 (is (equalp #(97) (rod #\a))))
69 (is (equalp #(65) (rod 'a
))))
73 (let ((rod (make-rod 1 :initial-element
100)))
74 (eq rod
(rod rod
:new nil
)))))
78 (let ((rod (make-rod 1 :initial-element
100)))
79 (eq rod
(rod rod
:new t
)))))
83 (rod (make-hash-table))))