From 43ab95880d54319ed8c02133c11392b37557ce58 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Thu, 26 Jun 2025 14:29:16 +0200 Subject: Add pop method to chunked_buffer --- asl/containers/chunked_buffer_tests.cpp | 42 +++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'asl/containers/chunked_buffer_tests.cpp') diff --git a/asl/containers/chunked_buffer_tests.cpp b/asl/containers/chunked_buffer_tests.cpp index 797f7f1..ba29bfb 100644 --- a/asl/containers/chunked_buffer_tests.cpp +++ b/asl/containers/chunked_buffer_tests.cpp @@ -135,6 +135,48 @@ ASL_TEST(push) } } +ASL_TEST(pop) +{ + asl::chunked_buffer b; + + for (int i = 0; i < 8; ++i) + { + b.push(i); + } + ASL_TEST_EXPECT(b.size() == 8); + + b.pop(); + ASL_TEST_EXPECT(b.size() == 7); + for (int i = 0; i < 7; ++i) + { + ASL_TEST_EXPECT(b[i] == i); + } +} + +ASL_TEST(pop_destruct) +{ + asl::chunked_buffer b; + bool d[3]; + + b.push(&d[0]); + b.push(&d[1]); + b.push(&d[2]); + + ASL_TEST_EXPECT(!d[0]); + ASL_TEST_EXPECT(!d[1]); + ASL_TEST_EXPECT(!d[2]); + + b.pop(); + ASL_TEST_EXPECT(!d[0]); + ASL_TEST_EXPECT(!d[1]); + ASL_TEST_EXPECT(d[2]); + + b.pop(); + ASL_TEST_EXPECT(!d[0]); + ASL_TEST_EXPECT(d[1]); + ASL_TEST_EXPECT(d[2]); +} + ASL_TEST(clear_destroy) { bool destroyed[5]{}; -- cgit