]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/test/test-color-util.c
Merge pull request #32588 from CodethinkLabs/mkosi-selinux
[thirdparty/systemd.git] / src / test / test-color-util.c
CommitLineData
447bcbfc
LP
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2
3#include "color-util.h"
4#include "tests.h"
5
6TEST(hsv_to_rgb) {
7 uint8_t r, g, b;
8
9 hsv_to_rgb(0, 0, 0, &r, &g, &b);
10 assert(r == 0 && g == 0 && b == 0);
11
12 hsv_to_rgb(60, 0, 0, &r, &g, &b);
13 assert(r == 0 && g == 0 && b == 0);
14
15 hsv_to_rgb(0, 0, 100, &r, &g, &b);
16 assert(r == 255 && g == 255 && b == 255);
17
18 hsv_to_rgb(0, 100, 100, &r, &g, &b);
19 assert(r == 255 && g == 0 && b == 0);
20
21 hsv_to_rgb(120, 100, 100, &r, &g, &b);
22 assert(r == 0 && g == 255 && b == 0);
23
24 hsv_to_rgb(240, 100, 100, &r, &g, &b);
25 assert(r == 0 && g == 0 && b == 255);
26
27 hsv_to_rgb(311, 52, 62, &r, &g, &b);
28 assert(r == 158 && g == 75 && b == 143);
29}
30
31TEST(rgb_to_hsv) {
32
33 double h, s, v;
34 rgb_to_hsv(0, 0, 0, &h, &s, &v);
35 assert(s <= 0);
36 assert(v <= 0);
37
38 rgb_to_hsv(1, 1, 1, &h, &s, &v);
39 assert(s <= 0);
40 assert(v >= 100);
41
42 rgb_to_hsv(1, 0, 0, &h, &s, &v);
43 assert(h >= 359 || h <= 1);
44 assert(s >= 100);
45 assert(v >= 100);
46
47 rgb_to_hsv(0, 1, 0, &h, &s, &v);
48 assert(h >= 119 && h <= 121);
49 assert(s >= 100);
50 assert(v >= 100);
51
52 rgb_to_hsv(0, 0, 1, &h, &s, &v);
53 assert(h >= 239 && h <= 241);
54 assert(s >= 100);
55 assert(v >= 100);
56
57 rgb_to_hsv(0.5, 0.6, 0.7, &h, &s, &v);
58 assert(h >= 209 && h <= 211);
59 assert(s >= 28 && s <= 31);
60 assert(v >= 69 && v <= 71);
61}
62
63DEFINE_TEST_MAIN(LOG_DEBUG);