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
|
#if LV_BUILD_TEST
#include "../lvgl.h"
#include "../../lvgl_private.h"
#include "unity/unity.h"
static lv_array_t array;
void setUp(void)
{
lv_array_init(&array, LV_ARRAY_DEFAULT_CAPACITY, sizeof(int32_t));
}
void tearDown(void)
{
lv_array_deinit(&array);
}
void test_array_append_values(void)
{
const int32_t new_size = LV_ARRAY_DEFAULT_CAPACITY + 2;
TEST_ASSERT_EQUAL_UINT32(0, lv_array_size(&array));
for(int32_t i = 0; i < new_size; i++) {
lv_array_push_back(&array, &i);
}
/*push back will automatically extent the array size.*/
TEST_ASSERT_EQUAL_UINT32(new_size, lv_array_size(&array));
}
void test_array_set_get(void)
{
int32_t v = 100;
lv_array_push_back(&array, &v);
int32_t * r = lv_array_at(&array, 0);
TEST_ASSERT_EQUAL_UINT32(100, *r);
}
void test_array_size(void)
{
for(int32_t i = 0; i < 10; i++) {
lv_array_push_back(&array, &i);
}
TEST_ASSERT_EQUAL_UINT32(0, lv_array_is_full(&array) ? 1 : 0);
lv_array_clear(&array);
TEST_ASSERT_EQUAL_UINT32(1, lv_array_is_empty(&array) ? 1 : 0);
TEST_ASSERT_EQUAL_UINT32(0, lv_array_size(&array));
}
void test_array_resize(void)
{
for(int32_t i = 0; i < LV_ARRAY_DEFAULT_CAPACITY; i++) {
lv_array_push_back(&array, &i);
}
TEST_ASSERT_EQUAL_UINT32(LV_ARRAY_DEFAULT_CAPACITY, lv_array_size(&array));
lv_array_resize(&array, 12);
TEST_ASSERT_EQUAL_UINT32(LV_ARRAY_DEFAULT_CAPACITY, lv_array_size(&array));
TEST_ASSERT_EQUAL_UINT32(12, lv_array_capacity(&array));
lv_array_resize(&array, 6);
TEST_ASSERT_EQUAL_UINT32(4, lv_array_size(&array));
TEST_ASSERT_EQUAL_UINT32(6, lv_array_capacity(&array));
}
void test_array_copy(void)
{
for(int32_t i = 0; i < LV_ARRAY_DEFAULT_CAPACITY; i++) {
lv_array_push_back(&array, &i);
}
uint32_t array_size = lv_array_size(&array);
lv_array_t array2 = { 0 };
lv_array_copy(&array2, &array);
TEST_ASSERT_EQUAL_UINT32(array_size, lv_array_size(&array2));
uint32_t * r = lv_array_at(&array2, 1);
TEST_ASSERT_EQUAL_UINT32(1, *r);
lv_array_deinit(&array2);
}
void test_array_concat(void)
{
lv_array_t a, b;
lv_array_init(&a, 4, sizeof(int32_t));
lv_array_init(&b, 4, sizeof(int32_t));
for(int32_t i = 0; i < 4; i++) {
lv_array_push_back(&a, &i);
lv_array_push_back(&b, &i);
}
TEST_ASSERT_TRUE(lv_array_concat(&a, &b) == LV_RESULT_OK);
TEST_ASSERT_EQUAL_UINT32(8, lv_array_size(&a));
for(int32_t i = 0; i < 8; i++) {
int32_t * v = lv_array_at(&a, i);
TEST_ASSERT_EQUAL_INT32(i % 4, *v);
}
lv_array_deinit(&a);
lv_array_deinit(&b);
}
#endif
|