@@ -121,9 +121,62 @@ MunitResult label_delete_test(const MunitParameter params[] __attribute__((unuse
121
121
return MUNIT_OK ;
122
122
}
123
123
124
+ MunitResult label_load_test (const MunitParameter params [] __attribute__((unused )), void * fixture __attribute__((unused ))) {
125
+ Label label = {};
126
+ LabelRepository * repository = label_repository_create ();
127
+ munit_assert_not_null (repository );
128
+
129
+ munit_assert_false (label_repository_load (repository , "/not_here/label.json" ));
130
+ munit_assert_int (label_repository_size (repository ), = = , 0 );
131
+
132
+ munit_assert_false (label_repository_load (repository , "data/label_1.json" ));
133
+ munit_assert_int (label_repository_size (repository ), = = , 1 );
134
+
135
+ munit_assert_true (label_repository_get (repository , 0 , & label ));
136
+ munit_assert_uint16 (label .logical , = = , 0x5030U );
137
+ munit_assert_uint8 (label .page , = = , 4 );
138
+ munit_assert_string_equal (label .name , "ok" );
139
+ munit_assert_null (label .description );
140
+
141
+ label_repository_destroy (repository );
142
+
143
+ munit_assert_true (label_repository_load (repository , "data/label_0.json" ));
144
+ munit_assert_int (label_repository_size (repository ), = = , 3 );
145
+
146
+ munit_assert_true (label_repository_find (repository , 0x31DC , 0xF8 , & label ));
147
+ munit_assert_uint16 (label .logical , = = , 0x31DCU );
148
+ munit_assert_uint8 (label .page , = = , 0xF8 );
149
+ munit_assert_string_equal (label .name , "var" );
150
+ munit_assert_null (label .description );
151
+
152
+ munit_assert_true (label_repository_find (repository , 0xEABC , 0x00 , & label ));
153
+ munit_assert_uint16 (label .logical , = = , 0xEABCU );
154
+ munit_assert_uint8 (label .page , = = , 0x00 );
155
+ munit_assert_string_equal (label .name , "do_something" );
156
+ munit_assert_string_equal (label .description , "do something" );
157
+
158
+ munit_assert_true (label_repository_find (repository , 0xD6F7 , 0x1F , & label ));
159
+ munit_assert_uint16 (label .logical , = = , 0xD6F7U );
160
+ munit_assert_uint8 (label .page , = = , 0x1F );
161
+ munit_assert_string_equal (label .name , "run" );
162
+ munit_assert_string_equal (label .description , "line0\nline1\nline2\nline3" );
163
+
164
+ label_repository_destroy (repository );
165
+
166
+ return MUNIT_OK ;
167
+ }
168
+
169
+ MunitResult label_save_test (const MunitParameter params [] __attribute__((unused )), void * fixture __attribute__((unused ))) {
170
+ // [todo]
171
+ return MUNIT_OK ;
172
+ }
173
+
174
+
124
175
static MunitTest Labelests [] = {
125
176
{ "/add" , label_add_test , setup , tear_down , MUNIT_TEST_OPTION_NONE , NULL },
126
177
{ "/delete" , label_delete_test , setup , tear_down , MUNIT_TEST_OPTION_NONE , NULL },
178
+ { "/load" , label_load_test , setup , tear_down , MUNIT_TEST_OPTION_NONE , NULL },
179
+ { "/save" , label_save_test , setup , tear_down , MUNIT_TEST_OPTION_NONE , NULL },
127
180
{ NULL , NULL , NULL , NULL , MUNIT_TEST_OPTION_NONE , NULL }
128
181
};
129
182
0 commit comments