mirror of
https://github.com/BlackMATov/evolved.lua.git
synced 2026-09-27 11:07:08 +07:00
api reference for idpools module
This commit is contained in:
@@ -10,19 +10,19 @@ end
|
||||
do
|
||||
local p = evo.idpools.idpool()
|
||||
|
||||
local i1_1 = evo.idpools.acquire_id(p)
|
||||
local i1_1 = evo.idpools.acquire(p)
|
||||
assert(i1_1 == 0x100001)
|
||||
|
||||
local i2_1 = evo.idpools.acquire_id(p)
|
||||
local i2_1 = evo.idpools.acquire(p)
|
||||
assert(i2_1 == 0x100002)
|
||||
|
||||
do
|
||||
local i, v = evo.idpools.unpack_id(i1_1)
|
||||
local i, v = evo.idpools.unpack(i1_1)
|
||||
assert(i == 1 and v == 1)
|
||||
end
|
||||
|
||||
do
|
||||
local i, v = evo.idpools.unpack_id(i2_1)
|
||||
local i, v = evo.idpools.unpack(i2_1)
|
||||
assert(i == 2 and v == 1)
|
||||
end
|
||||
end
|
||||
@@ -30,42 +30,42 @@ end
|
||||
do
|
||||
local p = evo.idpools.idpool()
|
||||
|
||||
local i1_1 = evo.idpools.acquire_id(p)
|
||||
local i2_1 = evo.idpools.acquire_id(p)
|
||||
assert(evo.idpools.is_id_alive(p, i1_1))
|
||||
assert(evo.idpools.is_id_alive(p, i2_1))
|
||||
local i1_1 = evo.idpools.acquire(p)
|
||||
local i2_1 = evo.idpools.acquire(p)
|
||||
assert(evo.idpools.is_alive(p, i1_1))
|
||||
assert(evo.idpools.is_alive(p, i2_1))
|
||||
|
||||
evo.idpools.release_id(p, i1_1)
|
||||
assert(not evo.idpools.is_id_alive(p, i1_1))
|
||||
assert(evo.idpools.is_id_alive(p, i2_1))
|
||||
evo.idpools.release(p, i1_1)
|
||||
assert(not evo.idpools.is_alive(p, i1_1))
|
||||
assert(evo.idpools.is_alive(p, i2_1))
|
||||
|
||||
evo.idpools.release_id(p, i2_1)
|
||||
assert(not evo.idpools.is_id_alive(p, i1_1))
|
||||
assert(not evo.idpools.is_id_alive(p, i2_1))
|
||||
evo.idpools.release(p, i2_1)
|
||||
assert(not evo.idpools.is_alive(p, i1_1))
|
||||
assert(not evo.idpools.is_alive(p, i2_1))
|
||||
|
||||
local i2_2 = evo.idpools.acquire_id(p)
|
||||
local i2_2 = evo.idpools.acquire(p)
|
||||
assert(i2_2 == 0x200002)
|
||||
|
||||
local i1_2 = evo.idpools.acquire_id(p)
|
||||
local i1_2 = evo.idpools.acquire(p)
|
||||
assert(i1_2 == 0x200001)
|
||||
|
||||
assert(not evo.idpools.is_id_alive(p, i1_1))
|
||||
assert(not evo.idpools.is_id_alive(p, i2_1))
|
||||
assert(evo.idpools.is_id_alive(p, i1_2))
|
||||
assert(evo.idpools.is_id_alive(p, i2_2))
|
||||
assert(not evo.idpools.is_alive(p, i1_1))
|
||||
assert(not evo.idpools.is_alive(p, i2_1))
|
||||
assert(evo.idpools.is_alive(p, i1_2))
|
||||
assert(evo.idpools.is_alive(p, i2_2))
|
||||
end
|
||||
|
||||
do
|
||||
local p = evo.idpools.idpool()
|
||||
|
||||
for _ = 1, 0xFFFFF - 1 do
|
||||
_ = evo.idpools.acquire_id(p)
|
||||
_ = evo.idpools.acquire(p)
|
||||
end
|
||||
|
||||
assert(evo.idpools.acquire_id(p) == 0x1FFFFF)
|
||||
assert(evo.idpools.acquire(p) == 0x1FFFFF)
|
||||
|
||||
if not os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") then
|
||||
assert(not pcall(evo.idpools.acquire_id, p))
|
||||
assert(not pcall(evo.idpools.acquire, p))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -73,14 +73,26 @@ do
|
||||
local p = evo.idpools.idpool()
|
||||
|
||||
for _ = 1, 0x7FF - 1 do
|
||||
evo.idpools.release_id(p, evo.idpools.acquire_id(p))
|
||||
evo.idpools.release(p, evo.idpools.acquire(p))
|
||||
end
|
||||
|
||||
local i1_7FF = evo.idpools.acquire_id(p)
|
||||
local i1_7FF = evo.idpools.acquire(p)
|
||||
assert(i1_7FF == 0x7FF00001)
|
||||
evo.idpools.release_id(p, i1_7FF)
|
||||
evo.idpools.release(p, i1_7FF)
|
||||
|
||||
local i1_1 = evo.idpools.acquire_id(p)
|
||||
local i1_1 = evo.idpools.acquire(p)
|
||||
assert(i1_1 == 0x100001)
|
||||
evo.idpools.release_id(p, i1_1)
|
||||
evo.idpools.release(p, i1_1)
|
||||
end
|
||||
|
||||
for _ = 1, 100 do
|
||||
local o_index = math.random(0xFFFFF)
|
||||
local o_version = math.random(0x7FF)
|
||||
|
||||
local id = evo.idpools.pack(o_index, o_version)
|
||||
|
||||
local r_index, r_version = evo.idpools.unpack(id)
|
||||
|
||||
assert(o_index == r_index)
|
||||
assert(o_version == r_version)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user