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

Function FL_TEST_FILE

tests/fl/stl/optional.cpp:9–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7#include "fl/stl/string.h"
8
9FL_TEST_FILE(FL_FILEPATH) {
10
11using namespace fl;
12
13FL_TEST_CASE("fl::Optional - default construction") {
14 FL_SUBCASE("default constructor creates empty optional") {
15 Optional<int> opt;
16 FL_CHECK(opt.empty());
17 FL_CHECK(!opt.has_value());
18 FL_CHECK(!opt);
19 FL_CHECK(opt == nullopt);
20 }
21
22 FL_SUBCASE("nullopt constructor creates empty optional") {
23 Optional<int> opt(nullopt);
24 FL_CHECK(opt.empty());
25 FL_CHECK(!opt.has_value());
26 FL_CHECK(opt == nullopt);
27 }
28}
29
30FL_TEST_CASE("fl::Optional - value construction") {
31 FL_SUBCASE("construct with lvalue") {
32 int value = 42;
33 Optional<int> opt(value);
34 FL_CHECK(!opt.empty());
35 FL_CHECK(opt.has_value());
36 FL_CHECK(opt);
37 FL_CHECK(*opt == 42);
38 FL_CHECK(opt != nullopt);
39 }
40
41 FL_SUBCASE("construct with rvalue") {
42 Optional<int> opt(42);
43 FL_CHECK(!opt.empty());
44 FL_CHECK(opt.has_value());
45 FL_CHECK(*opt == 42);
46 }
47
48 FL_SUBCASE("construct with string") {
49 // Test with a more complex type
50 Optional<int> opt(123);
51 FL_CHECK(opt.has_value());
52 FL_CHECK(*opt == 123);
53 }
54}
55
56FL_TEST_CASE("fl::Optional - copy construction") {
57 FL_SUBCASE("copy empty optional") {
58 Optional<int> opt1;
59 Optional<int> opt2(opt1);
60 FL_CHECK(opt2.empty());
61 FL_CHECK(opt1 == opt2);
62 }
63
64 FL_SUBCASE("copy non-empty optional") {
65 Optional<int> opt1(42);
66 Optional<int> opt2(opt1);

Callers

nothing calls this directly

Calls 11

make_optionalFunction · 0.85
PointClass · 0.70
emptyMethod · 0.45
has_valueMethod · 0.45
emplaceMethod · 0.45
resetMethod · 0.45
ptrMethod · 0.45
operator!Method · 0.45
operator()Method · 0.45
valueMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected