Software /
code /
prosody
Annotate
spec/util_table_spec.lua @ 13019:8a2f75e38eb2
util.fsm: New utility lib for finite state machines
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 17 Mar 2022 17:45:27 +0000 |
parent | 12942:54756e3a54b9 |
rev | line source |
---|---|
9726 | 1 local u_table = require "util.table"; |
2 describe("util.table", function () | |
9727
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
3 describe("create()", function () |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
4 it("works", function () |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
5 -- Can't test the allocated sizes of the table, so what you gonna do? |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
6 assert.is.table(u_table.create(1,1)); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
7 end); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
8 end); |
9a35ae935390
util.table: Add test for create()
Kim Alvefur <zash@zash.se>
parents:
9726
diff
changeset
|
9 |
9726 | 10 describe("pack()", function () |
11 it("works", function () | |
12 assert.same({ "lorem", "ipsum", "dolor", "sit", "amet", n = 5 }, u_table.pack("lorem", "ipsum", "dolor", "sit", "amet")); | |
13 end); | |
14 end); | |
12404
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
15 |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
16 describe("move()", function () |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
17 it("works", function () |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
18 local t1 = { "apple", "banana", "carrot" }; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
19 local t2 = { "cat", "donkey", "elephant" }; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
20 local t3 = {}; |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
21 u_table.move(t1, 1, 3, 1, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
22 u_table.move(t2, 1, 3, 3, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
23 assert.same({ "apple", "banana", "cat", "donkey", "elephant" }, t3); |
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
24 end); |
12942
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
25 it("supports overlapping regions", function () |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
26 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
27 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
28 u_table.move(t1, 1, 3, 3); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
29 assert.same({ "apple", "banana", "apple", "banana", "carrot", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
30 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
31 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
32 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
33 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
34 u_table.move(t1, 1, 3, 2); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
35 assert.same({ "apple", "apple", "banana", "carrot", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
36 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
37 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
38 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
39 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
40 u_table.move(t1, 3, 5, 2); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
41 assert.same({ "apple", "carrot", "date", "endive", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
42 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
43 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
44 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
45 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
46 u_table.move(t1, 3, 5, 6); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
47 assert.same({ "apple", "banana", "carrot", "date", "endive", "carrot", "date", "endive" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
48 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
49 |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
50 do |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
51 local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
52 u_table.move(t1, 3, 1, 3); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
53 assert.same({ "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }, t1); |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
54 end |
54756e3a54b9
util.table: Expand table.move() tests (thanks mutation testing)
Matthew Wild <mwild1@gmail.com>
parents:
12404
diff
changeset
|
55 end); |
12404
082f38e9de64
util.table: tests: Tests for table.move()
Matthew Wild <mwild1@gmail.com>
parents:
9727
diff
changeset
|
56 end); |
9726 | 57 end); |
58 | |
59 |