author | Matthew Wild <mwild1@gmail.com> |
Wed, 30 May 2018 21:55:09 +0100 | |
changeset 8849 | 7ec098b68042 |
parent 7512 | d4bd036e679b |
permissions | -rw-r--r-- |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
2 |
function new(new) |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
3 |
do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
4 |
local q = new(10); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
6 |
assert_equal(q.size, 10); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
7 |
assert_equal(q:count(), 0); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
9 |
assert_is(q:push("one")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
10 |
assert_is(q:push("two")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
11 |
assert_is(q:push("three")); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
13 |
for i = 4, 10 do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
14 |
assert_is(q:push("hello")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
15 |
assert_equal(q:count(), i, "count is not "..i.."("..q:count()..")"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
16 |
end |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
17 |
assert_equal(q:push("hello"), nil, "queue overfull!"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
18 |
assert_equal(q:push("hello"), nil, "queue overfull!"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
19 |
assert_equal(q:pop(), "one", "queue item incorrect"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
20 |
assert_equal(q:pop(), "two", "queue item incorrect"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
21 |
assert_is(q:push("hello")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
22 |
assert_is(q:push("hello")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
23 |
assert_equal(q:pop(), "three", "queue item incorrect"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
24 |
assert_is(q:push("hello")); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
25 |
assert_equal(q:push("hello"), nil, "queue overfull!"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
26 |
assert_equal(q:push("hello"), nil, "queue overfull!"); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
28 |
assert_equal(q:count(), 10, "queue count incorrect"); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
30 |
for _ = 1, 10 do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
31 |
assert_equal(q:pop(), "hello", "queue item incorrect"); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
32 |
end |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
33 |
|
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
34 |
assert_equal(q:count(), 0, "queue count incorrect"); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
36 |
assert_is(q:push(1)); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
37 |
for i = 1, 1001 do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
38 |
assert_equal(q:pop(), i); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
39 |
assert_equal(q:count(), 0); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
40 |
assert_is(q:push(i+1)); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
41 |
assert_equal(q:count(), 1); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
42 |
end |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
43 |
assert_equal(q:pop(), 1002); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
44 |
assert_is(q:push(1)); |
7511
736dea7b99ec
test_util_queue: Reduce iteration count of loop and add asserts
Kim Alvefur <zash@zash.se>
parents:
7510
diff
changeset
|
45 |
for i = 1, 1000 do |
736dea7b99ec
test_util_queue: Reduce iteration count of loop and add asserts
Kim Alvefur <zash@zash.se>
parents:
7510
diff
changeset
|
46 |
assert_equal(q:pop(), i); |
736dea7b99ec
test_util_queue: Reduce iteration count of loop and add asserts
Kim Alvefur <zash@zash.se>
parents:
7510
diff
changeset
|
47 |
assert_is(q:push(i+1)); |
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
48 |
end |
7512
d4bd036e679b
test_util_queue: finish stress-test by emptying the queue
Anton Shestakov <av6@dwimlabs.net>
parents:
7511
diff
changeset
|
49 |
assert_equal(q:pop(), 1001); |
d4bd036e679b
test_util_queue: finish stress-test by emptying the queue
Anton Shestakov <av6@dwimlabs.net>
parents:
7511
diff
changeset
|
50 |
assert_equal(q:count(), 0); |
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
51 |
end |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
53 |
do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
54 |
-- Test queues that purge old items when pushing to a full queue |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
55 |
local q = new(10, true); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
57 |
for i = 1, 10 do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
58 |
q:push(i); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
59 |
end |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
61 |
assert_equal(q:count(), 10); |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
63 |
assert_is(q:push(11)); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
64 |
assert_equal(q:count(), 10); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
65 |
assert_equal(q:pop(), 2); -- First item should have been purged |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 |
|
7510
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
67 |
for i = 12, 32 do |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
68 |
assert_is(q:push(i)); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
69 |
end |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
70 |
|
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
71 |
assert_equal(q:count(), 10); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
72 |
assert_equal(q:pop(), 23); |
11e8c605a591
tests: Adapt test for util.queue to the test framework
Kim Alvefur <zash@zash.se>
parents:
6735
diff
changeset
|
73 |
end |
6735
b5cf091d8c45
tests: Add tests for util.queue
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
74 |
end |