aboutsummaryrefslogtreecommitdiff
path: root/tests/vector.lisp
blob: 10afde4eba23777c6dbd7f2abede040f1adfe8ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(loadext "ext_example/vector.so")

(assert (vector? (make-vector)))
(assert (not (vector? 1)))

(defvar v (make-vector))

(assert (= 0 (vector-length v)))
(assert-error (vector-ref v 0))

(vector-append v 0)
(vector-append v "123")
(vector-append v 1.2)

(assert (= 3 (vector-length v)))

(vector-insert v 1 99)

(assert (equal? (vector-ref v 0) 0))
(assert (equal? (vector-ref v 1) 99))
(assert (equal? (vector-ref v 2) "123"))
(assert (equal? (vector-ref v 3) 1.2))

(vector-remove v 2)

(assert (equal? (vector-ref v 2) 1.2))
(assert (equal? (vector-ref v 1) 99))

(defvar x 2)
(vector-append v x)

(vector-set v 3 3)
(assert (= x 2))
(assert (= 3 (vector-ref v 3)))