authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-01-17 12:26:48+01:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-01-17 12:26:48+01:00
log90343d1868df01899b5cceea96f680e7bca38767
tree378382b93462a2cbb400b306841473ecfccd3e09
parent144e36770ed7d7e1ddbcae61742cf76bfb8b0e41

libstd: add smoke test for insert methods in MultiArrayList


1 files changed, 19 insertions(+), 0 deletions(-)

lib/std/multi_array_list.zig+19
...@@ -602,3 +602,22 @@ test "ensure capacity on empty list" {...@@ -602,3 +602,22 @@ test "ensure capacity on empty list" {
602 try testing.expectEqualSlices(u32, &[_]u32{ 9, 11 }, list.items(.a));602 try testing.expectEqualSlices(u32, &[_]u32{ 9, 11 }, list.items(.a));
603 try testing.expectEqualSlices(u8, &[_]u8{ 10, 12 }, list.items(.b));603 try testing.expectEqualSlices(u8, &[_]u8{ 10, 12 }, list.items(.b));
604}604}
605
606test "insert elements" {
607 const ally = testing.allocator;
608
609 const Foo = struct {
610 a: u8,
611 b: u32,
612 };
613
614 var list = MultiArrayList(Foo){};
615 defer list.deinit(ally);
616
617 try list.insert(ally, 0, .{ .a = 1, .b = 2 });
618 try list.ensureUnusedCapacity(ally, 1);
619 list.insertAssumeCapacity(1, .{ .a = 2, .b = 3 });
620
621 try testing.expectEqualSlices(u8, &[_]u8{ 1, 2 }, list.items(.a));
622 try testing.expectEqualSlices(u32, &[_]u32{ 2, 3 }, list.items(.b));
623}