98 lines
2.6 KiB
C
98 lines
2.6 KiB
C
/**
|
|
* Copyright (c) 2026 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#include "dusktest.h"
|
|
#include "display/color.h"
|
|
|
|
static void test_color3f_create(void **state) {
|
|
(void)state;
|
|
|
|
color3f_t color = color3f(0.1f, 0.2f, 0.3f);
|
|
assert_float_equal(color.r, 0.1f, 0.0001f);
|
|
assert_float_equal(color.g, 0.2f, 0.0001f);
|
|
assert_float_equal(color.b, 0.3f, 0.0001f);
|
|
}
|
|
|
|
static void test_color4f_create(void **state) {
|
|
(void)state;
|
|
|
|
color4f_t color = color4f(0.1f, 0.2f, 0.3f, 0.4f);
|
|
assert_float_equal(color.r, 0.1f, 0.0001f);
|
|
assert_float_equal(color.g, 0.2f, 0.0001f);
|
|
assert_float_equal(color.b, 0.3f, 0.0001f);
|
|
assert_float_equal(color.a, 0.4f, 0.0001f);
|
|
}
|
|
|
|
static void test_color3b_create(void **state) {
|
|
(void)state;
|
|
|
|
color3b_t color = color3b(10, 20, 30);
|
|
assert_int_equal(color.r, 10);
|
|
assert_int_equal(color.g, 20);
|
|
assert_int_equal(color.b, 30);
|
|
}
|
|
|
|
static void test_color4b_create(void **state) {
|
|
(void)state;
|
|
|
|
color4b_t color = color4b(10, 20, 30, 40);
|
|
assert_int_equal(color.r, 10);
|
|
assert_int_equal(color.g, 20);
|
|
assert_int_equal(color.b, 30);
|
|
assert_int_equal(color.a, 40);
|
|
}
|
|
|
|
static void test_color_create(void **state) {
|
|
(void)state;
|
|
|
|
color_t color = color(10, 20, 30, 40);
|
|
assert_int_equal(color.r, 10);
|
|
assert_int_equal(color.g, 20);
|
|
assert_int_equal(color.b, 30);
|
|
assert_int_equal(color.a, 40);
|
|
}
|
|
|
|
static void test_colorHex_create(void **state) {
|
|
(void)state;
|
|
|
|
color_t color = colorHex(0x11223344);
|
|
assert_int_equal(color.r, 0x11);
|
|
assert_int_equal(color.g, 0x22);
|
|
assert_int_equal(color.b, 0x33);
|
|
assert_int_equal(color.a, 0x44);
|
|
|
|
color = colorHex(0xFF00FF00);
|
|
assert_int_equal(color.r, 0xFF);
|
|
assert_int_equal(color.g, 0x00);
|
|
assert_int_equal(color.b, 0xFF);
|
|
assert_int_equal(color.a, 0x00);
|
|
|
|
color_t comp = color(255, 0, 255, 0);
|
|
assert_int_equal(color.r, comp.r);
|
|
assert_int_equal(color.g, comp.g);
|
|
assert_int_equal(color.b, comp.b);
|
|
assert_int_equal(color.a, comp.a);
|
|
|
|
color = colorHex(0xFFFFFFFF);
|
|
assert_int_equal(color.r, COLOR_WHITE.r);
|
|
assert_int_equal(color.g, COLOR_WHITE.g);
|
|
assert_int_equal(color.b, COLOR_WHITE.b);
|
|
assert_int_equal(color.a, COLOR_WHITE.a);
|
|
}
|
|
|
|
int main(int argc, char **argv) {
|
|
const struct CMUnitTest tests[] = {
|
|
cmocka_unit_test(test_color3f_create),
|
|
cmocka_unit_test(test_color4f_create),
|
|
cmocka_unit_test(test_color3b_create),
|
|
cmocka_unit_test(test_color4b_create),
|
|
cmocka_unit_test(test_color_create),
|
|
cmocka_unit_test(test_colorHex_create),
|
|
};
|
|
|
|
return cmocka_run_group_tests(tests, NULL, NULL);
|
|
} |