dfhack/test/structures/find.lua

32 lines
954 B
Lua

config.mode = 'title' -- not safe to run when a world is loaded
2023-08-04 10:59:08 -06:00
config.target = 'core'
local function clean_vec(vec)
while #vec > 0 do
if vec[0] then
expect.true_(vec[0]:delete())
end
vec:erase(0)
end
end
local function with_clean_vec(cls, callback)
local vec = cls.get_vector()
dfhack.call_with_finalizer(1, true, clean_vec, vec, callback, vec)
end
function test.image_set()
-- todo: expand to other types?
with_clean_vec(df.image_set, function(vec)
vec:insert('#', {new = df.image_set, id = 1})
vec:insert('#', {new = df.image_set, id = 2})
vec:insert('#', {new = df.image_set, id = 4})
expect.eq(df.image_set.find(1).id, 1)
expect.eq(df.image_set.find(2).id, 2)
expect.eq(df.image_set.find(4).id, 4)
expect.nil_(df.image_set.find(3))
expect.nil_(df.image_set.find(5))
expect.nil_(df.image_set.find(-1))
end)
end