Do a lot of cleanup on module table/vector
This commit is contained in:
@@ -31,25 +31,46 @@ function unittests.tables()
|
||||
assert(table.equal({a=1,b=2},{a=1,b=2}))
|
||||
assert(not table.equal({a=1,b=3},{a=1,b=2}))
|
||||
|
||||
-- check table.push
|
||||
t = {}
|
||||
table.push(t, 1)
|
||||
assert(table.equal(t, {1}))
|
||||
table.push(t, 2)
|
||||
assert(table.equal(t, {1,2}))
|
||||
table.push(t, 3)
|
||||
assert(table.equal(t, {1,2,3}))
|
||||
|
||||
-- check 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 unittests.vectors()
|
||||
assert(true == table.isvector{1,2,3})
|
||||
assert(false == table.isvector{1,2,nil,3})
|
||||
|
||||
-- check vector.removeall
|
||||
t = {1,2,3,4,5,1,2,3,4,5}
|
||||
assert(true == vector.removeall(t, 2))
|
||||
assert(table.equal(t, {1,3,4,5,1,3,4,5}))
|
||||
assert(false == vector.removeall(t, 7))
|
||||
assert(table.equal(t, {1,3,4,5,1,3,4,5}))
|
||||
assert(true == vector.removeall(t, 5))
|
||||
assert(table.equal(t, {1,3,4,1,3,4}))
|
||||
assert(true == vector.removeall(t, 1))
|
||||
assert(table.equal(t, {3,4,3,4}))
|
||||
|
||||
-- check vector.push
|
||||
t = {}
|
||||
vector.push(t, 1)
|
||||
assert(table.equal(t, {1}))
|
||||
vector.push(t, 2)
|
||||
assert(table.equal(t, {1,2}))
|
||||
vector.push(t, 3)
|
||||
assert(table.equal(t, {1,2,3}))
|
||||
|
||||
-- check vector.pop
|
||||
t = {1,2,3}
|
||||
assert(3 == vector.pop(t))
|
||||
assert(table.equal(t, {1,2}))
|
||||
assert(2 == vector.pop(t))
|
||||
assert(table.equal(t, {1}))
|
||||
assert(1 == vector.pop(t))
|
||||
assert(table.equal(t, {}))
|
||||
assert(nil == vector.pop(t))
|
||||
assert(table.equal(t, {}))
|
||||
end
|
||||
|
||||
|
||||
function unittests.deque()
|
||||
local d = deque.create()
|
||||
for i=1,7 do
|
||||
|
||||
Reference in New Issue
Block a user