Software / code / prosody
Comparison
tests/test_util_cache.lua @ 7289:42e7545d5ae3
util.cache: Add head() and tail() methods (and tests)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 17 Mar 2016 19:07:40 +0000 |
| parent | 7016:e0a0af42b09f |
| child | 7290:70ab13e81cf5 |
comparison
equal
deleted
inserted
replaced
| 7287:867f107409d9 | 7289:42e7545d5ae3 |
|---|---|
| 1 | |
| 2 function new(new) | 1 function new(new) |
| 3 local c = new(5); | 2 local c = new(5); |
| 4 | 3 |
| 4 local function expect_kv(key, value, actual_key, actual_value) | |
| 5 assert_equal(key, actual_key, "key incorrect"); | |
| 6 assert_equal(value, actual_value, "value incorrect"); | |
| 7 end | |
| 8 | |
| 9 expect_kv(nil, nil, c:head()); | |
| 10 expect_kv(nil, nil, c:tail()); | |
| 11 | |
| 5 assert_equal(c:count(), 0); | 12 assert_equal(c:count(), 0); |
| 6 | 13 |
| 7 c:set("one", 1) | 14 c:set("one", 1) |
| 8 assert_equal(c:count(), 1); | 15 assert_equal(c:count(), 1); |
| 16 expect_kv("one", 1, c:head()); | |
| 17 expect_kv("one", 1, c:tail()); | |
| 18 | |
| 9 c:set("two", 2) | 19 c:set("two", 2) |
| 20 expect_kv("two", 2, c:head()); | |
| 21 expect_kv("one", 1, c:tail()); | |
| 22 | |
| 10 c:set("three", 3) | 23 c:set("three", 3) |
| 24 expect_kv("three", 3, c:head()); | |
| 25 expect_kv("one", 1, c:tail()); | |
| 26 | |
| 11 c:set("four", 4) | 27 c:set("four", 4) |
| 12 c:set("five", 5); | 28 c:set("five", 5); |
| 13 assert_equal(c:count(), 5); | 29 assert_equal(c:count(), 5); |
| 30 expect_kv("five", 5, c:head()); | |
| 31 expect_kv("one", 1, c:tail()); | |
| 14 | 32 |
| 15 c:set("foo", nil); | 33 c:set("foo", nil); |
| 16 assert_equal(c:count(), 5); | 34 assert_equal(c:count(), 5); |
| 35 expect_kv("five", 5, c:head()); | |
| 36 expect_kv("one", 1, c:tail()); | |
| 17 | 37 |
| 18 assert_equal(c:get("one"), 1); | 38 assert_equal(c:get("one"), 1); |
| 39 expect_kv("five", 5, c:head()); | |
| 40 expect_kv("one", 1, c:tail()); | |
| 41 | |
| 19 assert_equal(c:get("two"), 2); | 42 assert_equal(c:get("two"), 2); |
| 20 assert_equal(c:get("three"), 3); | 43 assert_equal(c:get("three"), 3); |
| 21 assert_equal(c:get("four"), 4); | 44 assert_equal(c:get("four"), 4); |
| 22 assert_equal(c:get("five"), 5); | 45 assert_equal(c:get("five"), 5); |
| 23 | 46 |
| 24 assert_equal(c:get("foo"), nil); | 47 assert_equal(c:get("foo"), nil); |
| 25 assert_equal(c:get("bar"), nil); | 48 assert_equal(c:get("bar"), nil); |
| 26 | 49 |
| 27 c:set("six", 6); | 50 c:set("six", 6); |
| 28 assert_equal(c:count(), 5); | 51 assert_equal(c:count(), 5); |
| 52 expect_kv("six", 6, c:head()); | |
| 53 expect_kv("two", 2, c:tail()); | |
| 29 | 54 |
| 30 assert_equal(c:get("one"), nil); | 55 assert_equal(c:get("one"), nil); |
| 31 assert_equal(c:get("two"), 2); | 56 assert_equal(c:get("two"), 2); |
| 32 assert_equal(c:get("three"), 3); | 57 assert_equal(c:get("three"), 3); |
| 33 assert_equal(c:get("four"), 4); | 58 assert_equal(c:get("four"), 4); |