Annotate

spec/util_time_spec.lua @ 10973:39991e40d1dc

util.dbuffer: dynamic string buffer Similar to util.ringbuffer (and shares almost identical API). Differences: - size limit is optional and dynamic - does not allocate a fixed buffer of max_size bytes - focus on simply storing references to existing string objects where possible, avoiding unnecessary allocations - references are still stored in a ring buffer to enable use as a fast FIFO Optional second parameter to new() provides the number of ring buffer segments. On Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next write will compact all strings into a single item.
author Matthew Wild <mwild1@gmail.com>
date Fri, 26 Jun 2020 16:41:31 +0100
parent 9193:aba99b6539f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9193
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 describe("util.time", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local time;
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 setup(function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 time = require "util.time";
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 describe("now()", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 it("exists", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 assert.is_function(time.now);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 it("returns a number", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 assert.is_number(time.now());
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 describe("monotonic()", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 it("exists", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 assert.is_function(time.monotonic);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 it("returns a number", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 assert.is_number(time.monotonic());
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 it("time goes in one direction", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 local a = time.monotonic();
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 local b = time.monotonic();
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 assert.truthy(a <= b);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31