22 #define CATCH_CONFIG_MAIN
23 #include <core/utils/circular_buffer.h>
25 #include <catch2/catch.hpp>
30 TEST_CASE(
"Access elements",
"[circular_buffer]")
33 for (
int i = 0; i < 1000; i++) {
36 for (
int i = 0; i < 1000; i++) {
37 REQUIRE(buffer[i] == i);
38 REQUIRE(buffer.at(i) == i);
42 TEST_CASE(
"Delete elements",
"[circular_buffer]")
47 REQUIRE(buffer.size() == 1);
48 REQUIRE(buffer[0] == 2);
51 TEST_CASE(
"Out of max range",
"[circular_buffer]")
55 CHECK_NOTHROW(i = buffer[1]);
56 REQUIRE_THROWS_AS(i = buffer.at(1), std::out_of_range);
59 TEST_CASE(
"Out of range",
"[circular_buffer]")
64 REQUIRE_NOTHROW(i = buffer[1]);
65 REQUIRE_THROWS_AS(i = buffer.at(1), std::out_of_range);
68 TEST_CASE(
"Copy constructor",
"[circular_buffer]")
74 REQUIRE(b2.get_max_size() == 5);
81 REQUIRE_THROWS_AS(b1.at(2), std::out_of_range);