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

Function FL_TEST_FILE

tests/fl/stl/queue.cpp:9–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7#include "fl/stl/move.h"
8
9FL_TEST_FILE(FL_FILEPATH) {
10
11
12FL_TEST_CASE("Basic Queue Operations") {
13 fl::queue<int> q;
14
15 FL_SUBCASE("Initial state") {
16 FL_CHECK(q.empty());
17 FL_CHECK_EQ(q.size(), 0);
18 }
19
20 FL_SUBCASE("Push and front/back access") {
21 q.push(10);
22 q.push(20);
23 q.push(30);
24
25 FL_CHECK_FALSE(q.empty());
26 FL_CHECK_EQ(q.size(), 3);
27 FL_CHECK_EQ(q.front(), 10); // First in
28 FL_CHECK_EQ(q.back(), 30); // Last in
29 }
30
31 FL_SUBCASE("FIFO behavior (pop)") {
32 q.push(10);
33 q.push(20);
34 q.push(30);
35
36 FL_CHECK_EQ(q.front(), 10);
37 q.pop();
38 FL_CHECK_EQ(q.front(), 20);
39 q.pop();
40 FL_CHECK_EQ(q.front(), 30);
41 q.pop();
42 FL_CHECK(q.empty());
43 }
44
45 FL_SUBCASE("Size changes correctly") {
46 FL_CHECK_EQ(q.size(), 0);
47
48 q.push(1);
49 FL_CHECK_EQ(q.size(), 1);
50
51 q.push(2);
52 FL_CHECK_EQ(q.size(), 2);
53
54 q.pop();
55 FL_CHECK_EQ(q.size(), 1);
56
57 q.pop();
58 FL_CHECK_EQ(q.size(), 0);
59 FL_CHECK(q.empty());
60 }
61}
62
63FL_TEST_CASE("Queue Copy and Move Semantics") {
64 FL_SUBCASE("Copy constructor") {
65 fl::queue<int> q1;
66 q1.push(1);

Callers

nothing calls this directly

Calls 8

emptyMethod · 0.45
sizeMethod · 0.45
pushMethod · 0.45
frontMethod · 0.45
backMethod · 0.45
popMethod · 0.45
swapMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected