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

Function FL_TEST_FILE

tests/fl/stl/deque.cpp:8–869  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6#include "fl/stl/move.h"
7
8FL_TEST_FILE(FL_FILEPATH) {
9
10using namespace fl;
11
12FL_TEST_CASE("fl::deque - default constructor") {
13 deque<int> dq;
14 FL_CHECK(dq.empty());
15 FL_CHECK_EQ(dq.size(), 0u);
16}
17
18FL_TEST_CASE("fl::deque - constructor with count and value") {
19 FL_SUBCASE("int type") {
20 deque<int> dq(5, 42);
21 FL_CHECK_EQ(dq.size(), 5u);
22 FL_CHECK_FALSE(dq.empty());
23 for (size_t i = 0; i < 5; ++i) {
24 FL_CHECK_EQ(dq[i], 42);
25 }
26 }
27
28 FL_SUBCASE("float type") {
29 deque<float> dq(3, 3.14f);
30 FL_CHECK_EQ(dq.size(), 3u);
31 for (size_t i = 0; i < 3; ++i) {
32 FL_CHECK_EQ(dq[i], 3.14f);
33 }
34 }
35}
36
37FL_TEST_CASE("fl::deque - initializer list constructor") {
38 deque<int> dq = {1, 2, 3, 4, 5};
39 FL_CHECK_EQ(dq.size(), 5u);
40 FL_CHECK_EQ(dq[0], 1);
41 FL_CHECK_EQ(dq[1], 2);
42 FL_CHECK_EQ(dq[2], 3);
43 FL_CHECK_EQ(dq[3], 4);
44 FL_CHECK_EQ(dq[4], 5);
45}
46
47FL_TEST_CASE("fl::deque - copy constructor") {
48 deque<int> dq1 = {1, 2, 3};
49 deque<int> dq2(dq1);
50
51 FL_CHECK_EQ(dq2.size(), 3u);
52 FL_CHECK_EQ(dq2[0], 1);
53 FL_CHECK_EQ(dq2[1], 2);
54 FL_CHECK_EQ(dq2[2], 3);
55
56 // Modify original to ensure deep copy
57 dq1[0] = 99;
58 FL_CHECK_EQ(dq2[0], 1);
59}
60
61FL_TEST_CASE("fl::deque - move constructor") {
62 deque<int> dq1 = {1, 2, 3};
63 deque<int> dq2(fl::move(dq1));
64
65 FL_CHECK_EQ(dq2.size(), 3u);

Callers

nothing calls this directly

Calls 15

TestObjClass · 0.85
emptyMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
push_frontMethod · 0.45
pop_backMethod · 0.45
pop_frontMethod · 0.45
frontMethod · 0.45
backMethod · 0.45
atMethod · 0.45
clearMethod · 0.45
resizeMethod · 0.45

Tested by

no test coverage detected