From 2888b450f2745740c111a9e263a00ce51dd43693 Mon Sep 17 00:00:00 2001 From: "Pablo J. Rogina" <43066+pablojr@users.noreply.github.com> Date: Wed, 28 Sep 2022 17:24:38 -0300 Subject: [PATCH] ci(calendar): add unit tests (#3704) --- tests/ref_imgs/calendar_01.png | Bin 0 -> 11898 bytes tests/ref_imgs/calendar_02.png | Bin 0 -> 11838 bytes tests/ref_imgs/calendar_03.png | Bin 0 -> 11930 bytes tests/ref_imgs/calendar_04.png | Bin 0 -> 11663 bytes tests/ref_imgs/calendar_05.png | Bin 0 -> 13127 bytes tests/ref_imgs/calendar_06.png | Bin 0 -> 13829 bytes tests/ref_imgs/calendar_07.png | Bin 0 -> 11838 bytes tests/src/test_cases/test_calendar.c | 211 +++++++++++++++++++++++++++ 8 files changed, 211 insertions(+) create mode 100644 tests/ref_imgs/calendar_01.png create mode 100644 tests/ref_imgs/calendar_02.png create mode 100644 tests/ref_imgs/calendar_03.png create mode 100644 tests/ref_imgs/calendar_04.png create mode 100644 tests/ref_imgs/calendar_05.png create mode 100644 tests/ref_imgs/calendar_06.png create mode 100644 tests/ref_imgs/calendar_07.png create mode 100644 tests/src/test_cases/test_calendar.c diff --git a/tests/ref_imgs/calendar_01.png b/tests/ref_imgs/calendar_01.png new file mode 100644 index 0000000000000000000000000000000000000000..a17471e2b19d2d1176c3e5fea7adec9478d03570 GIT binary patch literal 11898 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/calendar_02.png b/tests/ref_imgs/calendar_02.png new file mode 100644 index 0000000000000000000000000000000000000000..50cb2f331343f7759018619885f9ddde70dd7bdd GIT binary patch literal 11838 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�QFe^_>JHZu!qtTG>S9iv@w9i%Ayf=OD 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs/calendar_07.png b/tests/ref_imgs/calendar_07.png new file mode 100644 index 0000000000000000000000000000000000000000..50cb2f331343f7759018619885f9ddde70dd7bdd GIT binary patch literal 11838 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 + TEST_ASSERT_EQUAL_INT16(today.month, date_after_test->month); + TEST_ASSERT_EQUAL_INT16(today.day, date_after_test->day); +} + +void test_calendar_set_today_date_gui(void) +{ + /* Work with 2022-09-21 as today (start of spring in Southern hemisphere) */ + lv_calendar_date_t today; + today.year = 2022; + today.month = 9; + today.day = 21; + + lv_calendar_set_today_date(calendar, today.year, today.month, today.day); + lv_calendar_set_showed_date(calendar, 2022, 9); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_01.png"); +} + +void test_calendar_set_showed_date_gui(void) +{ + lv_calendar_set_showed_date(calendar, 2022, 9); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_02.png"); +} + +void test_calendar_set_highlighted_dates(void) +{ + /*Highlight a few days*/ + static lv_calendar_date_t highlighted_days[3]; /*Only its pointer will be saved so should be static*/ + highlighted_days[0].year = 2022; + highlighted_days[0].month = 2; + highlighted_days[0].day = 6; + + highlighted_days[1].year = 2022; + highlighted_days[1].month = 2; + highlighted_days[1].day = 11; + + highlighted_days[2].year = 2022; + highlighted_days[2].month = 2; + highlighted_days[2].day = 22; + + lv_calendar_set_highlighted_dates(calendar, highlighted_days, 3); + + const lv_calendar_date_t * highlighted_days_after_test = lv_calendar_get_highlighted_dates(calendar); + + for(int i = 0; i < 3; i++) { + TEST_ASSERT_EQUAL_INT16(highlighted_days[i].year, highlighted_days_after_test[i].year); + TEST_ASSERT_EQUAL_INT16(highlighted_days[i].month, highlighted_days_after_test[i].month); + TEST_ASSERT_EQUAL_INT16(highlighted_days[i].day, highlighted_days_after_test[i].day); + } +} + +void test_calendar_set_highlighted_dates_gui(void) +{ + /*Highlight a few days*/ + static lv_calendar_date_t highlighted_days[3]; /*Only its pointer will be saved so should be static*/ + highlighted_days[0].year = 2022; + highlighted_days[0].month = 2; + highlighted_days[0].day = 6; + + highlighted_days[1].year = 2022; + highlighted_days[1].month = 2; + highlighted_days[1].day = 11; + + highlighted_days[2].year = 2022; + highlighted_days[2].month = 2; + highlighted_days[2].day = 22; + + lv_calendar_set_highlighted_dates(calendar, highlighted_days, 3); + + lv_calendar_set_showed_date(calendar, 2022, 2); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_03.png"); +} + +void test_calendar_set_day_names_gui(void) +{ + static const char * day_names[7] = {"Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"}; + + lv_calendar_set_day_names(calendar, day_names); + + lv_calendar_set_showed_date(calendar, 2022, 9); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_04.png"); +} + +void test_calendar_get_highlighted_dates_num(void) +{ + /*Highlight a few days*/ + static lv_calendar_date_t highlighted_days[3]; /*Only its pointer will be saved so should be static*/ + highlighted_days[0].year = 2022; + highlighted_days[0].month = 2; + highlighted_days[0].day = 6; + + highlighted_days[1].year = 2022; + highlighted_days[1].month = 2; + highlighted_days[1].day = 11; + + highlighted_days[2].year = 2022; + highlighted_days[2].month = 2; + highlighted_days[2].day = 22; + + lv_calendar_set_highlighted_dates(calendar, highlighted_days, 3); + + TEST_ASSERT_EQUAL_INT16(3, lv_calendar_get_highlighted_dates_num(calendar)); +} + +void test_calendar_header_dropdown_create_gui(void) +{ + lv_calendar_header_dropdown_create(calendar); + + lv_calendar_set_showed_date(calendar, 2022, 9); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_05.png"); +} + +void test_calendar_header_arrow_create_gui(void) +{ + lv_calendar_header_arrow_create(calendar); + + lv_calendar_set_showed_date(calendar, 2022, 10); // Use October to avoid month name sliding + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_06.png"); +} + +void test_calendar_event_key_down_gui(void) +{ + char key = LV_KEY_DOWN; + + lv_calendar_set_showed_date(calendar, 2022, 9); + + lv_event_send(calendar, LV_EVENT_KEY, (void *) &key); + + TEST_ASSERT_EQUAL_SCREENSHOT("calendar_07.png"); +} + +void test_calendar_get_pressed_date_null(void) +{ + lv_calendar_set_showed_date(calendar, 2022, 9); + + lv_calendar_date_t pressed_date; + + lv_res_t result = lv_calendar_get_pressed_date(calendar, &pressed_date); + + TEST_ASSERT_EQUAL(result, LV_RES_INV); +} + +void test_calendar_get_btnmatrix(void) +{ + lv_obj_t * btnm = lv_calendar_get_btnmatrix(calendar); + + TEST_ASSERT_NOT_NULL(btnm); +} + +#endif