1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
#if LV_BUILD_TEST
#include "../lvgl.h"
#include "../../lvgl_private.h"
#include "unity/unity.h"
#include "lv_test_indev.h"
LV_IMAGE_DECLARE(test_animimg001);
LV_IMAGE_DECLARE(test_animimg002);
LV_IMAGE_DECLARE(test_animimg003);
static const lv_image_dsc_t * anim_imgs[3] = {
&test_animimg001,
&test_animimg002,
&test_animimg003,
};
static lv_obj_t * active_screen = NULL;
static lv_obj_t * animimg = NULL;
void setUp(void);
void tearDown(void);
void test_animimg_successful_create(void);
void test_animimg_set_src(void);
void test_animimg_get_src_count(void);
void test_animimg_set_duration(void);
void test_animimg_set_repeat_count_infinite(void);
void test_animimg_start(void);
void setUp(void)
{
active_screen = lv_screen_active();
animimg = lv_animimg_create(active_screen);
}
void tearDown(void)
{
lv_obj_clean(active_screen);
}
void test_animimg_successful_create(void)
{
TEST_ASSERT_NOT_NULL(animimg);
}
void test_animimg_set_src(void)
{
lv_animimg_set_src(animimg, (const void **) anim_imgs, 3);
TEST_ASSERT_NOT_NULL(animimg);
}
void test_animimg_get_src(void)
{
lv_animimg_set_src(animimg, (const void **) anim_imgs, 3);
const void ** actual_dsc = lv_animimg_get_src(animimg);
TEST_ASSERT_NOT_NULL(actual_dsc);
TEST_ASSERT_EQUAL_PTR(actual_dsc, anim_imgs);
}
void test_animimg_get_src_count(void)
{
uint8_t expected_count = 3;
lv_animimg_set_src(animimg, (const void **) anim_imgs, expected_count);
uint8_t actual_count = lv_animimg_get_src_count(animimg);
TEST_ASSERT_EQUAL_UINT8(actual_count, expected_count);
}
void test_animimg_set_duration(void)
{
uint16_t expected_duration = 1000;
lv_animimg_set_duration(animimg, expected_duration);
uint16_t actual_duration = lv_animimg_get_duration(animimg);
TEST_ASSERT_EQUAL_UINT16(actual_duration, expected_duration);
}
void test_animimg_set_repeat_count_infinite(void)
{
lv_animimg_set_repeat_count(animimg, LV_ANIM_REPEAT_INFINITE);
uint32_t actual_count = lv_animimg_get_repeat_count(animimg);
TEST_ASSERT_EQUAL_UINT32(actual_count, LV_ANIM_REPEAT_INFINITE);
}
void test_animimg_start(void)
{
// for lv_animimg_start() to actually work,
// we need to properly setup the widget beforehand
lv_animimg_set_src(animimg, (const void **) anim_imgs, 3);
lv_animimg_set_duration(animimg, 1000);
lv_animimg_set_repeat_count(animimg, LV_ANIM_REPEAT_INFINITE);
lv_animimg_start(animimg);
TEST_ASSERT_NOT_NULL(animimg);
}
#endif
|