summaryrefslogtreecommitdiff
path: root/asl/tests
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-12-17 23:56:03 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-12-20 15:35:58 +0100
commit19c358c32fe91685e7fc001a866b3208444068da (patch)
treed8cb9eff9054e6d59845337e273e1216c4d0283d /asl/tests
parent6d69512c6ff58ee8a7c1266257db5bf94cc91886 (diff)
Add buffer::push
Diffstat (limited to 'asl/tests')
-rw-r--r--asl/tests/buffer_tests.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/asl/tests/buffer_tests.cpp b/asl/tests/buffer_tests.cpp
index 32f6682..3dc8ffb 100644
--- a/asl/tests/buffer_tests.cpp
+++ b/asl/tests/buffer_tests.cpp
@@ -49,3 +49,37 @@ ASL_TEST(reserve_capacity)
ASL_TEST_EXPECT(b.size() == 0);
ASL_TEST_EXPECT(b.capacity() >= 130);
}
+
+// NOLINTBEGIN(*-pointer-arithmetic)
+ASL_TEST(push)
+{
+ asl::buffer<int32_t> b;
+ ASL_TEST_EXPECT(b.size() == 0);
+
+ b.push(1);
+ ASL_TEST_EXPECT(b.size() == 1);
+ ASL_TEST_EXPECT(b.data()[0] == 1);
+
+ b.push(2);
+ b.push(3);
+ ASL_TEST_EXPECT(b.size() == 3);
+ ASL_TEST_EXPECT(b.data()[0] == 1);
+ ASL_TEST_EXPECT(b.data()[1] == 2);
+ ASL_TEST_EXPECT(b.data()[2] == 3);
+
+ b.push(4);
+ b.push(5);
+ b.push(6);
+ b.push(7);
+ ASL_TEST_EXPECT(b.size() == 7);
+ ASL_TEST_EXPECT(b.data()[0] == 1);
+ ASL_TEST_EXPECT(b.data()[1] == 2);
+ ASL_TEST_EXPECT(b.data()[2] == 3);
+ ASL_TEST_EXPECT(b.data()[3] == 4);
+ ASL_TEST_EXPECT(b.data()[4] == 5);
+ ASL_TEST_EXPECT(b.data()[5] == 6);
+ ASL_TEST_EXPECT(b.data()[6] == 7);
+}
+// NOLINTEND(*-pointer-arithmetic)
+
+// @Todo Test push with non trivial move (non copy) types