From d89e732634ee60073254aa4140dd92f5513f338f Mon Sep 17 00:00:00 2001 From: Mahesh Murty <46624548+mmurty@users.noreply.github.com> Date: Fri, 16 Sep 2022 01:40:12 +0530 Subject: [PATCH] test(led): add unit tests (#3681) --- tests/ref_imgs/led_1.png | Bin 0 -> 9990 bytes tests/src/test_cases/test_led.c | 106 ++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 tests/ref_imgs/led_1.png create mode 100644 tests/src/test_cases/test_led.c diff --git a/tests/ref_imgs/led_1.png b/tests/ref_imgs/led_1.png new file mode 100644 index 0000000000000000000000000000000000000000..154bb1825ebb99a5b68da7ef8df4d90df3ff1290 GIT binary patch literal 9990 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 literal 0 HcmV?d00001 diff --git a/tests/src/test_cases/test_led.c b/tests/src/test_cases/test_led.c new file mode 100644 index 000000000..3027acc1a --- /dev/null +++ b/tests/src/test_cases/test_led.c @@ -0,0 +1,106 @@ +#if LV_BUILD_TEST +#include "../lvgl.h" + +#include "unity/unity.h" + +static lv_obj_t * active_screen = NULL; + +void setUp(void) +{ + active_screen = lv_scr_act(); +} + +void tearDown(void) +{ + lv_obj_clean(active_screen); +} + +void test_led_render_1(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + lv_obj_align(led, LV_ALIGN_CENTER, -80, 0); + lv_led_off(led); + + led = lv_led_create(active_screen); + lv_obj_align(led, LV_ALIGN_CENTER, 0, 0); + lv_led_set_brightness(led, 150); + lv_led_set_color(led, lv_palette_main(LV_PALETTE_RED)); + + led = lv_led_create(active_screen); + lv_obj_align(led, LV_ALIGN_CENTER, 80, 0); + lv_led_on(led); + + TEST_ASSERT_EQUAL_SCREENSHOT("led_1.png"); +} + +void test_led_set_color_works(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + lv_led_t * ledObj = (lv_led_t *)led; + + /* Test by changing colors randomly. */ + lv_led_set_color(led, lv_palette_main(LV_PALETTE_AMBER)); + TEST_ASSERT_EQUAL(lv_palette_main(LV_PALETTE_AMBER).full, ledObj->color.full); + + lv_led_set_color(led, lv_palette_main(LV_PALETTE_GREY)); + TEST_ASSERT_EQUAL(lv_palette_main(LV_PALETTE_GREY).full, ledObj->color.full); + + lv_led_set_color(led, lv_palette_main(LV_PALETTE_RED)); + TEST_ASSERT_EQUAL(lv_palette_main(LV_PALETTE_RED).full, ledObj->color.full); +} + +void test_led_set_brightness_works(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + + /* Test by changing brightness randomly. */ + lv_led_set_brightness(led, 150); + TEST_ASSERT_EQUAL(150, lv_led_get_brightness(led)); + + lv_led_set_brightness(led, 10); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led)); + + lv_led_set_brightness(led, 255); + TEST_ASSERT_EQUAL(255, lv_led_get_brightness(led)); +} + +void test_led_on_off_works(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + + lv_led_on(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led)); + + lv_led_off(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led)); + + lv_led_on(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led)); +} + +void test_led_toggle_works(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + + lv_led_on(led); + lv_led_toggle(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led)); + lv_led_toggle(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led)); + lv_led_toggle(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led)); +} + +void test_led_get_brightness_works(void) +{ + lv_obj_t * led = lv_led_create(active_screen); + + lv_led_on(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MAX, lv_led_get_brightness(led)); + lv_led_off(led); + TEST_ASSERT_EQUAL(LV_LED_BRIGHT_MIN, lv_led_get_brightness(led)); + lv_led_set_brightness(led, 150); + TEST_ASSERT_EQUAL(150, lv_led_get_brightness(led)); +} + +#endif