diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-10-01 14:14:41 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-10-01 14:14:41 +0200 |
| commit | a23125b5c15685e962ee4d2f63ca108ead2aa2eb (patch) | |
| tree | b3af7df949003bf2ccdfb96392ddb118f18810a1 | |
| parent | 483a0e34401226b4f95104419186504f7dcfee56 (diff) | |
| download | kernel-a23125b5c15685e962ee4d2f63ca108ead2aa2eb.tar.xz kernel-a23125b5c15685e962ee4d2f63ca108ead2aa2eb.zip | |
kstd: ring_buffer: add write-through tests
| -rw-r--r-- | libs/kstd/kstd/ring_buffer.tests.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libs/kstd/kstd/ring_buffer.tests.cpp b/libs/kstd/kstd/ring_buffer.tests.cpp index 7f459734..2157b6c3 100644 --- a/libs/kstd/kstd/ring_buffer.tests.cpp +++ b/libs/kstd/kstd/ring_buffer.tests.cpp @@ -195,6 +195,22 @@ SCENARIO("Ring Buffer element access", "[kstd][ring_buffer]") Catch::Matchers::Message("[KSTD] Index out-of-bounds in ring_buffer element access!")); } + WHEN("writing through the return value of at()") + { + buffer.at(1) = 'b'; + + THEN("the written element is changed") + { + REQUIRE(buffer.at(1) == 'b'); + } + + THEN("the other elements are unchanged") + { + REQUIRE(buffer.at(0) == 'a'); + REQUIRE(buffer.at(2) == 'a'); + } + } + THEN("accessing the first 3 elements using operator[] returns 'a'") { REQUIRE(buffer[0] == 'a'); @@ -202,6 +218,22 @@ SCENARIO("Ring Buffer element access", "[kstd][ring_buffer]") REQUIRE(buffer[2] == 'a'); } + WHEN("writing through the return value of operator[]") + { + buffer[1] = 'b'; + + THEN("the written element is changed") + { + REQUIRE(buffer.at(1) == 'b'); + } + + THEN("the other elements are unchanged") + { + REQUIRE(buffer.at(0) == 'a'); + REQUIRE(buffer.at(2) == 'a'); + } + } + WHEN("working through a const reference") { auto const & ref = buffer; |
