Software /
code /
prosody
File
spec/util_indexedbheap_spec.lua @ 12281:9016071867d7
mod_admin_shell: Track connected events instead of created
The connection events are more appropriate here, where the s2s-created
events happens a bit later or earlier in a sessions lifetime depending
on its direction and for outgoing connections isn't actually the
creation time (which happens immediately after pressing enter, so not
very interesting), but rather closer to the connection time.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 06 Feb 2022 14:34:02 +0100 |
parent | 11116:d334f2bebe55 |
line wrap: on
line source
local ibh = require"util.indexedbheap"; local function verify_heap_property(priorities) for k in ipairs(priorities) do local parent = priorities[k]; local childA = priorities[2*k]; local childB = priorities[2*k+1]; -- print("-", parent, childA, childB) assert(childA == nil or childA > parent, "heap property violated"); assert(childB == nil or childB > parent, "heap property violated"); end end local h setup(function () h = ibh.create(); end) describe("util.indexedbheap", function () it("item can be moved from end to top", function () verify_heap_property(h); h:insert("a", 1); verify_heap_property(h); h:insert("b", 2); verify_heap_property(h); h:insert("c", 3); verify_heap_property(h); local id = h:insert("*", 10); verify_heap_property(h); h:reprioritize(id, 0); verify_heap_property(h); assert.same({ 0, "*", id }, { h:pop() }); end) end);