]> gitweb.factorcode.org Git - factor.git/blob - basis/cache/cache-tests.factor
io.streams.tee: more tests
[factor.git] / basis / cache / cache-tests.factor
1 USING: accessors assocs cache destructors kernel namespaces
2 tools.test ;
3 IN: cache.tests
4
5 TUPLE: mock-disposable < disposable n ;
6
7 : <mock-disposable> ( n -- mock-disposable )
8     mock-disposable new-disposable swap >>n ;
9
10 M: mock-disposable dispose* drop ;
11
12 { } [ <cache-assoc> "cache" set ] unit-test
13
14 { 0 } [ "cache" get assoc-size ] unit-test
15
16 { } [ "cache" get 2 >>max-age drop ] unit-test
17
18 { } [ 1 <mock-disposable> dup "a" set 2 "cache" get set-at ] unit-test
19
20 { 1 } [ "cache" get assoc-size ] unit-test
21
22 { } [ "cache" get purge-cache ] unit-test
23
24 { } [ 2 <mock-disposable> 3 "cache" get set-at ] unit-test
25
26 { 2 } [ "cache" get assoc-size ] unit-test
27
28 { } [ "cache" get purge-cache ] unit-test
29
30 { 1 } [ "cache" get assoc-size ] unit-test
31
32 { } [ 3 <mock-disposable> dup "b" set 4 "cache" get set-at ] unit-test
33
34 { 2 } [ "cache" get assoc-size ] unit-test
35
36 { } [ "cache" get purge-cache ] unit-test
37
38 { 1 } [ "cache" get assoc-size ] unit-test
39
40 { f } [ 2 "cache" get key? ] unit-test
41
42 { 3 } [ 4 "cache" get at n>> ] unit-test
43
44 { t } [ "a" get disposed>> ] unit-test
45
46 { f } [ "b" get disposed>> ] unit-test
47
48 { } [ "cache" get clear-assoc ] unit-test
49
50 { t } [ "b" get disposed>> ] unit-test