util.table: Expand table.move() tests (thanks mutation testing)

This commit is contained in:
Matthew Wild 2023-03-17 17:06:05 +00:00
parent b156f013c4
commit 7a6d2e1226

View file

@ -22,6 +22,37 @@ describe("util.table", function ()
u_table.move(t2, 1, 3, 3, t3);
assert.same({ "apple", "banana", "cat", "donkey", "elephant" }, t3);
end);
it("supports overlapping regions", function ()
do
local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" };
u_table.move(t1, 1, 3, 3);
assert.same({ "apple", "banana", "apple", "banana", "carrot", "fig", "grapefruit" }, t1);
end
do
local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" };
u_table.move(t1, 1, 3, 2);
assert.same({ "apple", "apple", "banana", "carrot", "endive", "fig", "grapefruit" }, t1);
end
do
local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" };
u_table.move(t1, 3, 5, 2);
assert.same({ "apple", "carrot", "date", "endive", "endive", "fig", "grapefruit" }, t1);
end
do
local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" };
u_table.move(t1, 3, 5, 6);
assert.same({ "apple", "banana", "carrot", "date", "endive", "carrot", "date", "endive" }, t1);
end
do
local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" };
u_table.move(t1, 3, 1, 3);
assert.same({ "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }, t1);
end
end);
end);
end);