Prevent an args-out-of-range error during login/out
[riece] / lisp / test / test-riece-cache.el
1 (require 'riece-cache)
2
3 (luna-define-class test-riece-cache (lunit-test-case))
4
5 (luna-define-method test-riece-cache-get-set ((case test-riece-cache))
6   (let ((cache (riece-make-cache 3)))
7     (riece-cache-set cache "0" 0)
8     (lunit-assert-2
9      case
10      (= (riece-cache-get cache "0") 0))))
11
12 (luna-define-method test-riece-cache-set-overflow ((case test-riece-cache))
13   (let ((cache (riece-make-cache 3)))
14     (riece-cache-set cache "0" 0)
15     (lunit-assert-2
16      case
17      (= (riece-cache-hash-length cache) 1))
18     (riece-cache-set cache "1" 1)
19     (lunit-assert-2
20      case
21      (= (riece-cache-hash-length cache) 2))
22     (riece-cache-set cache "2" 2)
23     (lunit-assert-2
24      case
25      (= (riece-cache-hash-length cache) 3))
26     (riece-cache-set cache "3" 3)
27     (lunit-assert-2
28      case
29      (= (riece-cache-hash-length cache) 3))
30     (lunit-assert-2
31      case
32      (null (riece-cache-get cache "0")))))
33
34 (luna-define-method test-riece-cache-get-increase-key ((case test-riece-cache))
35   (let ((cache (riece-make-cache 3)))
36     (riece-cache-set cache "0" 0)
37     (riece-cache-set cache "1" 1)
38     (riece-cache-set cache "2" 2)
39     (lunit-assert-2
40      case
41      (equal (riece-cache-node-key (riece-cache-first cache)) "0"))
42     (lunit-assert-2
43      case
44      (equal (riece-cache-node-key (riece-cache-last cache)) "2"))
45     (riece-cache-get cache "1")
46     (lunit-assert-2
47      case
48      (equal (riece-cache-node-key (riece-cache-last cache)) "1"))))
49
50 (luna-define-method test-riece-cache-delete ((case test-riece-cache))
51   (let ((cache (riece-make-cache 3)))
52     (riece-cache-set cache "0" 0)
53     (riece-cache-set cache "1" 1)
54     (riece-cache-set cache "2" 2)
55     (riece-cache-delete cache "1")
56     (lunit-assert-2
57      case
58      (= (riece-cache-hash-length cache) 2))
59     (lunit-assert-2
60      case
61      (null (riece-cache-get cache "1")))
62     (riece-cache-set cache "1" 1)
63     (riece-cache-delete cache "0")
64     (lunit-assert-2
65      case
66      (= (riece-cache-hash-length cache) 2))
67     (lunit-assert-2
68      case
69      (null (riece-cache-get cache "0")))
70     (riece-cache-set cache "0" 0)
71     (riece-cache-delete cache "2")
72     (lunit-assert-2
73      case
74      (= (riece-cache-hash-length cache) 2))
75     (lunit-assert-2
76      case
77      (null (riece-cache-get cache "2")))))