Comparison

tests/test_util_cache.lua @ 7291:688a7f5d3624

tests: util.cache: Tests for different return values of on_evict
author Matthew Wild <mwild1@gmail.com>
date Thu, 17 Mar 2016 19:14:58 +0000
parent 7290:70ab13e81cf5
child 7484:d962ccf90735
comparison
equal deleted inserted replaced
7290:70ab13e81cf5 7291:688a7f5d3624
269 assert_equal(c4:set("d", 4), false); 269 assert_equal(c4:set("d", 4), false);
270 270
271 expect_kv("c", 3, c4:head()); 271 expect_kv("c", 3, c4:head());
272 expect_kv("a", 1, c4:tail()); 272 expect_kv("a", 1, c4:tail());
273 273
274 local c5 = new(3, function (k, v)
275 if k == "a" then
276 return nil;
277 elseif k == "b" then
278 return true;
279 end
280 return false;
281 end);
282
283 assert_equal(c5:set("a", 1), true);
284 assert_equal(c5:set("a", 1), true);
285 assert_equal(c5:set("a", 1), true);
286 assert_equal(c5:set("a", 1), true);
287 assert_equal(c5:set("b", 2), true);
288 assert_equal(c5:set("c", 3), true);
289 assert_equal(c5:set("d", 4), true); -- "a" evicted (cb returned nil)
290 assert_equal(c5:set("d", 4), true); -- nop
291 assert_equal(c5:set("d", 4), true); -- nop
292 assert_equal(c5:set("e", 5), true); -- "b" evicted (cb returned true)
293 assert_equal(c5:set("f", 6), false); -- "c" won't evict (cb returned false)
294
295 expect_kv("e", 5, c5:head());
296 expect_kv("c", 3, c5:tail());
297
274 end 298 end