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

Function FL_TEST_FILE

tests/fl/gfx/colorutils.cpp:64–255  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62} // namespace
63
64FL_TEST_FILE(FL_FILEPATH) {
65
66FL_TEST_CASE("CHSV palettes upscale consistently") {
67 CHSVPalette16 hsv16(
68 make_hsv(0), make_hsv(1), make_hsv(2), make_hsv(3),
69 make_hsv(4), make_hsv(5), make_hsv(6), make_hsv(7),
70 make_hsv(8), make_hsv(9), make_hsv(10), make_hsv(11),
71 make_hsv(12), make_hsv(13), make_hsv(14), make_hsv(15));
72
73 FL_SUBCASE("32-entry constructor and assignment repeat 16-entry anchors") {
74 CHSVPalette32 from_ctor(hsv16);
75 CHSVPalette32 from_assign;
76 from_assign = hsv16;
77
78 FL_CHECK(from_ctor == from_assign);
79 for (int i = 0; i < 16; ++i) {
80 check_hsv_eq(from_ctor[2 * i + 0], hsv16[i]);
81 check_hsv_eq(from_ctor[2 * i + 1], hsv16[i]);
82 }
83 }
84
85 FL_SUBCASE("256-entry constructor and assignment from 32-entry preserve ColorFromPalette semantics") {
86 CHSVPalette32 hsv32(hsv16);
87 CHSVPalette256 from_ctor(hsv32);
88 CHSVPalette256 from_assign;
89 from_assign = hsv32;
90
91 FL_CHECK(from_ctor == from_assign);
92 for (int i = 0; i < 256; ++i) {
93 check_hsv_eq(from_ctor[i], ColorFromPalette(hsv32, static_cast<fl::u8>(i)));
94 }
95 }
96}
97
98FL_TEST_CASE("palette progmem constructors stay aligned with runtime conversions") {
99 FL_SUBCASE("CHSV 16-entry progmem can build 32-entry and 256-entry palettes") {
100 CHSVPalette16 from_prog16(kProgmemHsv16);
101 CHSVPalette32 hsv32(kProgmemHsv16);
102 CHSVPalette256 hsv256(kProgmemHsv16);
103
104 for (int i = 0; i < 16; ++i) {
105 check_hsv_eq(hsv32[2 * i + 0], from_prog16[i]);
106 check_hsv_eq(hsv32[2 * i + 1], from_prog16[i]);
107 check_hsv_eq(hsv256[16 * i], from_prog16[i]);
108 }
109 }
110
111 FL_SUBCASE("CHSV 32-entry progmem can build a 256-entry palette") {
112 CHSVPalette32 from_prog32(kProgmemHsv32);
113 CHSVPalette256 hsv256(kProgmemHsv32);
114
115 for (int i = 0; i < 256; ++i) {
116 check_hsv_eq(hsv256[i], ColorFromPalette(from_prog32, static_cast<fl::u8>(i)));
117 }
118 }
119
120 FL_SUBCASE("CRGB 32-entry progmem can build a 256-entry palette") {
121 CRGBPalette32 from_prog32(kProgmemRgb32);

Callers

nothing calls this directly

Calls 12

make_hsvFunction · 0.85
check_hsv_eqFunction · 0.85
ColorFromPaletteFunction · 0.85
check_rgb_eqFunction · 0.85
make_rgbFunction · 0.85
u8x8Class · 0.85
ColorFromPaletteExtendedFunction · 0.85
downconvertFunction · 0.85
CRGBClass · 0.50
ColorFromPaletteHDFunction · 0.50
to_intMethod · 0.45
rawMethod · 0.45

Tested by

no test coverage detected