Do a lot of cleanup on module table/vector

This commit is contained in:
2023-04-13 16:55:48 -04:00
parent 7078d1243d
commit 8ea6c47e4c
4 changed files with 217 additions and 76 deletions

View File

@@ -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