USING: cache tools.test accessors destructors kernel assocs namespaces ; IN: cache.tests TUPLE: mock-disposable < disposable n ; : ( n -- mock-disposable ) mock-disposable new-disposable swap >>n ; M: mock-disposable dispose* drop ; [ ] [ "cache" set ] unit-test [ 0 ] [ "cache" get assoc-size ] unit-test [ ] [ "cache" get 2 >>max-age drop ] unit-test [ ] [ 1 dup "a" set 2 "cache" get set-at ] unit-test [ 1 ] [ "cache" get assoc-size ] unit-test [ ] [ "cache" get purge-cache ] unit-test [ ] [ 2 3 "cache" get set-at ] unit-test [ 2 ] [ "cache" get assoc-size ] unit-test [ ] [ "cache" get purge-cache ] unit-test [ 1 ] [ "cache" get assoc-size ] unit-test [ ] [ 3 dup "b" set 4 "cache" get set-at ] unit-test [ 2 ] [ "cache" get assoc-size ] unit-test [ ] [ "cache" get purge-cache ] unit-test [ 1 ] [ "cache" get assoc-size ] unit-test [ f ] [ 2 "cache" get key? ] unit-test [ 3 ] [ 4 "cache" get at n>> ] unit-test [ t ] [ "a" get disposed>> ] unit-test [ f ] [ "b" get disposed>> ] unit-test [ ] [ "cache" get clear-assoc ] unit-test [ t ] [ "b" get disposed>> ] unit-test