From 390e34ce7fc09daddd8180c4e687ab585e102c47 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 1 Oct 2026 18:50:26 +0200 Subject: kstd: ring_buffer: add more range-based tests --- libs/kstd/kstd/ring_buffer.tests.cpp | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/libs/kstd/kstd/ring_buffer.tests.cpp b/libs/kstd/kstd/ring_buffer.tests.cpp index 7a9c56be..a118c2c3 100644 --- a/libs/kstd/kstd/ring_buffer.tests.cpp +++ b/libs/kstd/kstd/ring_buffer.tests.cpp @@ -383,6 +383,21 @@ SCENARIO("Ring Buffer iterators", "[kstd][ring_buffer]") REQUIRE(buffer.cbegin() == buffer.cend()); } + THEN("the distance between begin() and end() is 0") + { + REQUIRE(std::ranges::distance(buffer.begin(), buffer.end()) == 0); + } + + THEN("the distance between cbegin() and cend() is 0") + { + REQUIRE(std::ranges::distance(buffer.cbegin(), buffer.cend()) == 0); + } + + THEN("the distance on the entire buffer is 0") + { + REQUIRE(std::ranges::distance(buffer) == 0); + } + WHEN("working through a const reference") { auto const & ref = buffer; @@ -396,6 +411,16 @@ SCENARIO("Ring Buffer iterators", "[kstd][ring_buffer]") { REQUIRE(buffer.begin() == buffer.end()); } + + THEN("the distance between begin() and end() is 0") + { + REQUIRE(std::ranges::distance(buffer.begin(), buffer.end()) == 0); + } + + THEN("the distance on the entire buffer is 0") + { + REQUIRE(std::ranges::distance(buffer) == 0); + } } } @@ -418,6 +443,21 @@ SCENARIO("Ring Buffer iterators", "[kstd][ring_buffer]") REQUIRE(buffer.begin() != buffer.cend()); } + THEN("the distance between begin() and end() is 3") + { + REQUIRE(std::ranges::distance(buffer.begin(), buffer.end()) == 3); + } + + THEN("the distance between cbegin() and cend() is 3") + { + REQUIRE(std::ranges::distance(buffer.cbegin(), buffer.cend()) == 3); + } + + THEN("the distance on the entire buffer is 3") + { + REQUIRE(std::ranges::distance(buffer) == 3); + } + THEN("begin() returns an iterator to the first element") { REQUIRE(*buffer.begin() == 'a'); @@ -519,6 +559,16 @@ SCENARIO("Ring Buffer iterators", "[kstd][ring_buffer]") REQUIRE(ref.begin() != ref.end()); } + THEN("the distance between begin() and end() is 3") + { + REQUIRE(std::ranges::distance(buffer.begin(), buffer.end()) == 3); + } + + THEN("the distance on the entire buffer is 3") + { + REQUIRE(std::ranges::distance(buffer) == 3); + } + THEN("begin() returns an iterator to the first element") { REQUIRE(*ref.begin() == 'a'); -- cgit v1.2.3