Reimplement queues as circular buffers
This commit is contained in:
@@ -58,26 +58,23 @@ end
|
||||
|
||||
function unittests.queues()
|
||||
local q = queue.create()
|
||||
assert(q.head == 1000000)
|
||||
assert(q.tail == 1000000)
|
||||
assert(queue.size(q) == 0)
|
||||
assert(table.count(q) == 2)
|
||||
queue.push(q, 27)
|
||||
assert(queue.size(q) == 1)
|
||||
queue.push(q, 45)
|
||||
assert(queue.nth(q, 1) == 27)
|
||||
assert(queue.nth(q, 2) == 45)
|
||||
assert(queue.size(q) == 2)
|
||||
assert(table.count(q) == 4)
|
||||
assert(queue.pop(q) == 27)
|
||||
assert(queue.size(q) == 1)
|
||||
assert(table.count(q) == 3)
|
||||
assert(queue.pop(q) == 45)
|
||||
assert(queue.size(q) == 0)
|
||||
assert(table.count(q) == 2)
|
||||
assert(queue.pop(q) == nil)
|
||||
assert(table.count(q) == 2)
|
||||
assert(q.head == 1000002)
|
||||
assert(q.tail == 1000002)
|
||||
assert(queue.size(q) == 0)
|
||||
for i=1,50 do
|
||||
queue.push(q,i)
|
||||
end
|
||||
for i=1,50 do
|
||||
assert(queue.pop(q)==i)
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user