1 local new = require "util.queue".new;
6 assert(q:count() == 0);
10 assert(q:push("three"));
14 assert(q:push("hello"));
15 assert(q:count() == i, "count is not "..i.."("..q:count()..")");
17 assert(q:push("hello") == nil, "queue overfull!");
18 assert(q:push("hello") == nil, "queue overfull!");
19 assert(q:pop() == "one", "queue item incorrect");
20 assert(q:pop() == "two", "queue item incorrect");
21 assert(q:push("hello"));
22 assert(q:push("hello"));
23 assert(q:pop() == "three", "queue item incorrect");
24 assert(q:push("hello"));
25 assert(q:push("hello") == nil, "queue overfull!");
26 assert(q:push("hello") == nil, "queue overfull!");
28 assert(q:count() == 10, "queue count incorrect");
31 assert(q:pop() == "hello", "queue item incorrect");
34 assert(q:count() == 0, "queue count incorrect");
39 assert(q:count() == 0);
41 assert(q:count() == 1);
43 assert(q:pop() == 1002);
50 -- Test queues that purge old items when pushing to a full queue
51 local q = new(10, true);
57 assert(q:count() == 10);
60 assert(q:count() == 10);
61 assert(q:pop() == 2); -- First item should have been purged
67 assert(q:count() == 10);
68 assert(q:pop() == 23);