aboutsummaryrefslogtreecommitdiff
path: root/lib/std/multi_array_list.zig
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2022-01-17 12:26:48 +0100
committerJakub Konka <kubkon@jakubkonka.com>2022-01-17 12:26:48 +0100
commit90343d1868df01899b5cceea96f680e7bca38767 (patch)
tree378382b93462a2cbb400b306841473ecfccd3e09 /lib/std/multi_array_list.zig
parent144e36770ed7d7e1ddbcae61742cf76bfb8b0e41 (diff)
downloadzig-90343d1868df01899b5cceea96f680e7bca38767.tar.gz
zig-90343d1868df01899b5cceea96f680e7bca38767.zip
libstd: add smoke test for insert methods in MultiArrayList
Diffstat (limited to 'lib/std/multi_array_list.zig')
-rw-r--r--lib/std/multi_array_list.zig19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig
index 7195aef55a..47d12884df 100644
--- a/lib/std/multi_array_list.zig
+++ b/lib/std/multi_array_list.zig
@@ -602,3 +602,22 @@ test "ensure capacity on empty list" {
try testing.expectEqualSlices(u32, &[_]u32{ 9, 11 }, list.items(.a));
try testing.expectEqualSlices(u8, &[_]u8{ 10, 12 }, list.items(.b));
}
+
+test "insert elements" {
+ const ally = testing.allocator;
+
+ const Foo = struct {
+ a: u8,
+ b: u32,
+ };
+
+ var list = MultiArrayList(Foo){};
+ defer list.deinit(ally);
+
+ try list.insert(ally, 0, .{ .a = 1, .b = 2 });
+ try list.ensureUnusedCapacity(ally, 1);
+ list.insertAssumeCapacity(1, .{ .a = 2, .b = 3 });
+
+ try testing.expectEqualSlices(u8, &[_]u8{ 1, 2 }, list.items(.a));
+ try testing.expectEqualSlices(u32, &[_]u32{ 2, 3 }, list.items(.b));
+}