MCPcopy Create free account
hub / github.com/FastLED/FastLED / FL_TEST_FILE

Function FL_TEST_FILE

tests/fl/stl/circular_buffer.cpp:4–504  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2#include "test.h"
3
4FL_TEST_FILE(FL_FILEPATH) {
5
6using namespace fl;
7
8FL_TEST_CASE("fl::circular_buffer - basic operations") {
9 FL_SUBCASE("constructor creates empty buffer") {
10 circular_buffer<int, 5> buffer;
11 FL_CHECK(buffer.empty());
12 FL_CHECK_EQ(buffer.size(), 0);
13 FL_CHECK_EQ(buffer.capacity(), 5);
14 FL_CHECK_FALSE(buffer.full());
15 }
16
17 FL_SUBCASE("push and pop single element") {
18 circular_buffer<int, 5> buffer;
19 buffer.push(42);
20 FL_CHECK_FALSE(buffer.empty());
21 FL_CHECK_EQ(buffer.size(), 1);
22
23 int value;
24 FL_CHECK(buffer.pop(value));
25 FL_CHECK_EQ(value, 42);
26 FL_CHECK(buffer.empty());
27 FL_CHECK_EQ(buffer.size(), 0);
28 }
29
30 FL_SUBCASE("push multiple elements") {
31 circular_buffer<int, 5> buffer;
32 buffer.push(1);
33 buffer.push(2);
34 buffer.push(3);
35 FL_CHECK_EQ(buffer.size(), 3);
36
37 int value;
38 FL_CHECK(buffer.pop(value));
39 FL_CHECK_EQ(value, 1);
40 FL_CHECK(buffer.pop(value));
41 FL_CHECK_EQ(value, 2);
42 FL_CHECK(buffer.pop(value));
43 FL_CHECK_EQ(value, 3);
44 FL_CHECK(buffer.empty());
45 }
46
47 FL_SUBCASE("fill to capacity") {
48 circular_buffer<int, 5> buffer;
49 for (int i = 0; i < 5; i++) {
50 buffer.push(i);
51 }
52 FL_CHECK_EQ(buffer.size(), 5);
53 FL_CHECK(buffer.full());
54 FL_CHECK_FALSE(buffer.empty());
55 }
56
57 FL_SUBCASE("overflow behavior - overwrites oldest") {
58 circular_buffer<int, 3> buffer;
59 buffer.push(1);
60 buffer.push(2);
61 buffer.push(3);

Callers

nothing calls this directly

Calls 14

ApproxFunction · 0.50
emptyMethod · 0.45
sizeMethod · 0.45
capacityMethod · 0.45
fullMethod · 0.45
pushMethod · 0.45
popMethod · 0.45
clearMethod · 0.45
push_backMethod · 0.45
pop_frontMethod · 0.45
push_frontMethod · 0.45
pop_backMethod · 0.45

Tested by

no test coverage detected