]> gitweb.factorcode.org Git - factor.git/blob - basis/cache/cache-tests.factor
core, basis, extra: Remove DOS line endings from files.
[factor.git] / basis / cache / cache-tests.factor
1 USING: cache tools.test accessors destructors kernel assocs
2 namespaces ;
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