God knows what's modified
This commit is contained in:
96
luprex/syslua/ut-table.lua
Normal file
96
luprex/syslua/ut-table.lua
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
local ut = {}
|
||||
|
||||
function ut.table_count()
|
||||
assert(table.count({}) == 0)
|
||||
assert(table.count({a=1,b=2}) == 2)
|
||||
assert(table.count({[2]=5,[5]=3}) == 2)
|
||||
end
|
||||
|
||||
function ut.table_coerce()
|
||||
local t = {}
|
||||
local t1 = table.coerce(t)
|
||||
assert(t1==t)
|
||||
t1 = table.coerce(0)
|
||||
assert(type(t1) == "table")
|
||||
t1 = table.coerce(nil)
|
||||
assert(type(t1) == "table")
|
||||
end
|
||||
|
||||
function ut.table_clear()
|
||||
local t = { a = 1, b = 2 }
|
||||
table.clear(t)
|
||||
assert(t.a == nil)
|
||||
assert(t.b == nil)
|
||||
assert(table.count(t) == 0)
|
||||
setmetatable(t, t)
|
||||
table.clear(t)
|
||||
assert(getmetatable(t) == nil)
|
||||
end
|
||||
|
||||
function ut.table_empty()
|
||||
assert(table.empty({}) == true)
|
||||
assert(table.empty({1}) == false)
|
||||
assert(table.empty({a=1}) == false)
|
||||
end
|
||||
|
||||
function ut.table_equal()
|
||||
assert(table.equal({},{}))
|
||||
assert(not table.equal({}, {1}))
|
||||
assert(not table.equal({1}, {}))
|
||||
assert(table.equal({1,2,3}, {1,2,3}))
|
||||
assert(not table.equal({1,2,3}, {1,5,3}))
|
||||
assert(not table.equal({1,2}, {1,2,3}))
|
||||
assert(not table.equal({1,2,3}, {1,2}))
|
||||
assert(table.equal({a=1,b=2},{a=1,b=2}))
|
||||
assert(not table.equal({a=1,b=3},{a=1,b=2}))
|
||||
end
|
||||
|
||||
function ut.table_append()
|
||||
t = {}
|
||||
table.append(t, 1)
|
||||
assert(table.equal(t, {1}))
|
||||
table.append(t, 2)
|
||||
assert(table.equal(t, {1,2}))
|
||||
table.append(t, 3)
|
||||
assert(table.equal(t, {1,2,3}))
|
||||
end
|
||||
|
||||
function ut.table_findremove()
|
||||
t = {1,2,3,4,5,1,2,3,4,5}
|
||||
table.findremove(t, 2)
|
||||
assert(table.equal(t, {1,3,4,5,1,3,4,5}))
|
||||
table.findremove(t, 5)
|
||||
assert(table.equal(t, {1,3,4,1,3,4}))
|
||||
table.findremove(t, 1)
|
||||
assert(table.equal(t, {3,4,3,4}))
|
||||
end
|
||||
|
||||
function ut.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)
|
||||
end
|
||||
|
||||
rununittests(ut)
|
||||
|
||||
Reference in New Issue
Block a user