1 USING: cache tools.test accessors destructors kernel assocs
\r
5 TUPLE: mock-disposable < disposable n ;
\r
7 : <mock-disposable> ( n -- mock-disposable )
\r
8 mock-disposable new-disposable swap >>n ;
\r
10 M: mock-disposable dispose* drop ;
\r
12 [ ] [ <cache-assoc> "cache" set ] unit-test
\r
14 [ 0 ] [ "cache" get assoc-size ] unit-test
\r
16 [ ] [ "cache" get 2 >>max-age drop ] unit-test
\r
18 [ ] [ 1 <mock-disposable> dup "a" set 2 "cache" get set-at ] unit-test
\r
20 [ 1 ] [ "cache" get assoc-size ] unit-test
\r
22 [ ] [ "cache" get purge-cache ] unit-test
\r
24 [ ] [ 2 <mock-disposable> 3 "cache" get set-at ] unit-test
\r
26 [ 2 ] [ "cache" get assoc-size ] unit-test
\r
28 [ ] [ "cache" get purge-cache ] unit-test
\r
30 [ 1 ] [ "cache" get assoc-size ] unit-test
\r
32 [ ] [ 3 <mock-disposable> dup "b" set 4 "cache" get set-at ] unit-test
\r
34 [ 2 ] [ "cache" get assoc-size ] unit-test
\r
36 [ ] [ "cache" get purge-cache ] unit-test
\r
38 [ 1 ] [ "cache" get assoc-size ] unit-test
\r
40 [ f ] [ 2 "cache" get key? ] unit-test
\r
42 [ 3 ] [ 4 "cache" get at n>> ] unit-test
\r
44 [ t ] [ "a" get disposed>> ] unit-test
\r
46 [ f ] [ "b" get disposed>> ] unit-test
\r
48 [ ] [ "cache" get clear-assoc ] unit-test
\r
50 [ t ] [ "b" get disposed>> ] unit-test
\r