5 static void test_list_sl_new();
6 static void test_list_sl_add_beg();
7 static void test_list_sl_add_after();
8 static void test_list_sl_remove_beg();
9 static void test_list_sl_remove_after();
10 static void test_list_sl_print();
11 static void test_list_sl_destroy();
13 static void test_list_dl_new();
14 static void test_list_dl_add_beg();
15 static void test_list_dl_add_end();
16 static void test_list_dl_add_before();
17 static void test_list_dl_add_after();
18 static void test_list_dl_remove();
19 static void test_list_dl_print();
20 static void test_list_dl_destroy();
24 fprintf( stderr, "Running all tests for list.c\n" );
27 test_list_sl_add_beg();
28 test_list_sl_add_after();
29 test_list_sl_remove_beg();
30 test_list_sl_remove_after();
32 test_list_sl_destroy();
35 test_list_dl_add_beg();
36 test_list_dl_add_end();
37 test_list_dl_add_before();
38 test_list_dl_add_after();
39 test_list_dl_remove();
41 test_list_dl_destroy();
43 fprintf( stderr, "Done\n\n" );
49 void test_list_sl_new()
51 fprintf( stderr, " Testing list_sl_new ... " );
57 assert( list->first == NULL );
59 fprintf( stderr, "OK\n" );
63 void test_list_sl_add_beg()
65 fprintf( stderr, " Testing list_sl_add_beg ... " );
68 node_sl *node1 = NULL;
69 node_sl *node2 = NULL;
70 node_sl *node3 = NULL;
74 node1 = mem_get( sizeof( node_sl ) );
75 node2 = mem_get( sizeof( node_sl ) );
76 node3 = mem_get( sizeof( node_sl ) );
86 assert( list->first == NULL );
88 list_sl_add_beg( &list, &node1 );
89 assert( list->first == node1 );
90 assert( strcmp( list->first->val, "TEST1" ) == 0 );
92 list_sl_add_beg( &list, &node2 );
93 assert( list->first == node2 );
94 assert( strcmp( list->first->val, "TEST2" ) == 0 );
96 list_sl_add_beg( &list, &node3 );
97 assert( list->first == node3 );
98 assert( strcmp( list->first->val, "TEST3" ) == 0 );
102 list_sl_print( list );
104 node1->val = "TEST4";
107 list_sl_add_beg( &list, &node1 );
108 assert( list->first == node1 );
109 assert( strcmp( list->first->val, "TEST4" ) == 0 );
113 list_sl_print( list );
115 fprintf( stderr, "OK\n" );
119 void test_list_sl_add_after()
121 fprintf( stderr, " Testing list_sl_add_after ... " );
123 list_sl *list = NULL;
124 node_sl *node1 = NULL;
125 node_sl *node2 = NULL;
127 list_sl_new( &list );
129 node1 = mem_get( sizeof( node_sl ) );
130 node2 = mem_get( sizeof( node_sl ) );
132 node1->val = "TEST1";
133 node2->val = "TEST2";
135 assert( list->first == NULL );
137 list_sl_add_beg( &list, &node1 );
138 assert( list->first == node1 );
139 assert( strcmp( list->first->val, "TEST1" ) == 0 );
141 list_sl_add_after( &node1, &node2 );
142 assert( list->first == node1 );
143 assert( strcmp( list->first->val, "TEST1" ) == 0 );
145 fprintf( stderr, "OK\n" );
149 void test_list_sl_remove_beg()
151 fprintf( stderr, " Testing list_sl_remove_beg ... " );
153 list_sl *list = NULL;
154 node_sl *node1 = NULL;
156 list_sl_new( &list );
158 node1 = mem_get( sizeof( node_sl ) );
160 node1->val = "TEST1";
162 assert( list->first == NULL );
164 list_sl_add_beg( &list, &node1 );
165 assert( list->first == node1 );
166 assert( strcmp( list->first->val, "TEST1" ) == 0 );
168 list_sl_remove_beg( &list );
169 assert( list->first == NULL );
171 fprintf( stderr, "OK\n" );
175 void test_list_sl_remove_after()
177 fprintf( stderr, " Testing list_sl_remove_after ... " );
179 list_sl *list = NULL;
180 node_sl *node1 = NULL;
181 node_sl *node2 = NULL;
183 list_sl_new( &list );
185 node1 = mem_get( sizeof( node_sl ) );
186 node2 = mem_get( sizeof( node_sl ) );
188 node1->val = "TEST1";
189 node2->val = "TEST2";
191 assert( list->first == NULL );
193 list_sl_add_beg( &list, &node1 );
194 assert( list->first == node1 );
195 assert( strcmp( list->first->val, "TEST1" ) == 0 );
197 list_sl_add_after( &node1, &node2 );
198 assert( list->first == node1 );
199 assert( strcmp( list->first->val, "TEST1" ) == 0 );
201 list_sl_remove_after( &node1 );
202 assert( list->first->next == NULL );
204 fprintf( stderr, "OK\n" );
208 void test_list_sl_print()
210 fprintf( stderr, " Testing list_sl_print ... " );
212 list_sl *list = NULL;
213 node_sl *node1 = NULL;
214 node_sl *node2 = NULL;
215 node_sl *node3 = NULL;
217 list_sl_new( &list );
219 node1 = mem_get( sizeof( node_sl ) );
220 node2 = mem_get( sizeof( node_sl ) );
221 node3 = mem_get( sizeof( node_sl ) );
223 node1->val = "TEST1";
224 node2->val = "TEST2";
225 node3->val = "TEST3";
227 list_sl_add_beg( &list, &node1 );
228 list_sl_add_beg( &list, &node2 );
229 list_sl_add_beg( &list, &node3 );
231 // list_sl_print( list );
233 fprintf( stderr, "OK\n" );
237 void test_list_sl_destroy()
239 fprintf( stderr, " Testing list_sl_destroy ... " );
241 list_sl *list = NULL;
242 node_sl *node1 = NULL;
243 node_sl *node2 = NULL;
244 node_sl *node3 = NULL;
246 list_sl_new( &list );
248 node1 = mem_get( sizeof( node_sl ) );
249 node2 = mem_get( sizeof( node_sl ) );
250 node3 = mem_get( sizeof( node_sl ) );
252 node1->val = "TEST1";
253 node2->val = "TEST2";
254 node3->val = "TEST3";
256 list_sl_add_beg( &list, &node1 );
257 list_sl_add_beg( &list, &node2 );
258 list_sl_add_beg( &list, &node3 );
260 list_sl_destroy( &list );
262 assert( list == NULL );
264 fprintf( stderr, "OK\n" );
268 void test_list_dl_new()
270 fprintf( stderr, " Testing list_dl_new ... " );
272 list_dl *list = NULL;
274 list_dl_new( &list );
276 assert( list->first == NULL );
277 assert( list->last == NULL );
279 fprintf( stderr, "OK\n" );
283 void test_list_dl_add_beg()
285 fprintf( stderr, " Testing list_dl_add_beg ... " );
287 list_dl *list = NULL;
288 node_dl *node1 = NULL;
289 node_dl *node2 = NULL;
290 node_dl *node3 = NULL;
292 list_dl_new( &list );
294 node1 = mem_get( sizeof( node_dl ) );
295 node2 = mem_get( sizeof( node_dl ) );
296 node3 = mem_get( sizeof( node_dl ) );
298 node1->val = "TEST1";
299 node2->val = "TEST2";
300 node3->val = "TEST3";
302 list_dl_add_beg( &list, &node1 );
304 assert( strcmp( list->first->val, "TEST1" ) == 0 );
306 list_dl_add_beg( &list, &node2 );
308 assert( strcmp( list->first->val, "TEST2" ) == 0 );
310 list_dl_add_beg( &list, &node3 );
312 assert( strcmp( list->first->val, "TEST3" ) == 0 );
314 fprintf( stderr, "OK\n" );
318 void test_list_dl_add_end()
320 fprintf( stderr, " Testing list_dl_add_end ... " );
322 list_dl *list = NULL;
323 node_dl *node1 = NULL;
324 node_dl *node2 = NULL;
325 node_dl *node3 = NULL;
327 list_dl_new( &list );
329 node1 = mem_get( sizeof( node_dl ) );
330 node2 = mem_get( sizeof( node_dl ) );
331 node3 = mem_get( sizeof( node_dl ) );
333 node1->val = "TEST1";
334 node2->val = "TEST2";
335 node3->val = "TEST3";
337 list_dl_add_end( &list, &node1 );
339 assert( strcmp( list->last->val, "TEST1" ) == 0 );
341 list_dl_add_end( &list, &node2 );
343 assert( strcmp( list->last->val, "TEST2" ) == 0 );
345 list_dl_add_end( &list, &node3 );
347 assert( strcmp( list->last->val, "TEST3" ) == 0 );
349 fprintf( stderr, "OK\n" );
353 void test_list_dl_add_before()
355 fprintf( stderr, " Testing list_dl_add_before ... " );
357 list_dl *list = NULL;
358 node_dl *node1 = NULL;
359 node_dl *node2 = NULL;
360 node_dl *node3 = NULL;
362 list_dl_new( &list );
364 node1 = mem_get( sizeof( node_dl ) );
365 node2 = mem_get( sizeof( node_dl ) );
366 node3 = mem_get( sizeof( node_dl ) );
368 node1->val = "TEST1";
369 node2->val = "TEST2";
370 node3->val = "TEST3";
372 list_dl_add_beg( &list, &node1 );
374 assert( strcmp( list->first->val, "TEST1" ) == 0 );
376 list_dl_add_before( &list, &node1, &node2 );
378 assert( strcmp( list->first->val, "TEST2" ) == 0 );
380 list_dl_add_before( &list, &node1, &node3 );
382 assert( strcmp( list->first->val, "TEST2" ) == 0 );
384 list_dl_add_before( &list, &node2, &node3 );
386 assert( strcmp( list->first->val, "TEST3" ) == 0 );
388 fprintf( stderr, "OK\n" );
392 void test_list_dl_add_after()
394 fprintf( stderr, " Testing list_dl_add_after ... " );
396 list_dl *list = NULL;
397 node_dl *node1 = NULL;
398 node_dl *node2 = NULL;
399 node_dl *node3 = NULL;
401 list_dl_new( &list );
403 node1 = mem_get( sizeof( node_dl ) );
404 node2 = mem_get( sizeof( node_dl ) );
405 node3 = mem_get( sizeof( node_dl ) );
407 node1->val = "TEST1";
408 node2->val = "TEST2";
409 node3->val = "TEST3";
411 list_dl_add_beg( &list, &node1 );
413 assert( strcmp( list->first->val, "TEST1" ) == 0 );
415 list_dl_add_after( &list, &node1, &node2 );
417 assert( strcmp( list->last->val, "TEST2" ) == 0 );
419 list_dl_add_after( &list, &node1, &node3 );
421 assert( strcmp( list->last->val, "TEST2" ) == 0 );
423 list_dl_add_after( &list, &node2, &node3 );
425 assert( strcmp( list->last->val, "TEST3" ) == 0 );
427 fprintf( stderr, "OK\n" );
431 void test_list_dl_remove()
433 fprintf( stderr, " Testing list_dl_remove ... " );
435 list_dl *list = NULL;
436 node_dl *node1 = NULL;
437 node_dl *node2 = NULL;
438 node_dl *node3 = NULL;
440 list_dl_new( &list );
442 node1 = mem_get( sizeof( node_dl ) );
443 node2 = mem_get( sizeof( node_dl ) );
444 node3 = mem_get( sizeof( node_dl ) );
446 node1->val = "TEST1";
447 node2->val = "TEST2";
448 node3->val = "TEST3";
450 list_dl_add_beg( &list, &node1 );
452 assert( strcmp( list->first->val, "TEST1" ) == 0 );
454 list_dl_add_after( &list, &node1, &node2 );
456 assert( strcmp( list->last->val, "TEST2" ) == 0 );
458 list_dl_add_after( &list, &node1, &node3 );
460 assert( strcmp( list->last->val, "TEST2" ) == 0 );
462 list_dl_add_after( &list, &node2, &node3 );
464 assert( strcmp( list->last->val, "TEST3" ) == 0 );
466 list_dl_remove( &list, &node3 );
468 assert( strcmp( list->last->val, "TEST2" ) == 0 );
470 list_dl_remove( &list, &node2 );
472 assert( strcmp( list->first->val, "TEST1" ) == 0 );
474 list_dl_remove( &list, &node1 );
476 fprintf( stderr, "OK\n" );
480 void test_list_dl_print()
482 fprintf( stderr, " Testing list_dl_print ... " );
484 list_dl *list = NULL;
485 node_dl *node1 = NULL;
486 node_dl *node2 = NULL;
487 node_dl *node3 = NULL;
489 list_dl_new( &list );
491 node1 = mem_get( sizeof( node_dl ) );
492 node2 = mem_get( sizeof( node_dl ) );
493 node3 = mem_get( sizeof( node_dl ) );
495 node1->val = "TEST1";
496 node2->val = "TEST2";
497 node3->val = "TEST3";
499 list_dl_add_beg( &list, &node1 );
500 list_dl_add_beg( &list, &node2 );
501 list_dl_add_beg( &list, &node3 );
503 // list_dl_print( list );
505 fprintf( stderr, "OK\n" );
509 void test_list_dl_destroy()
511 fprintf( stderr, " Testing list_dl_destroy ... " );
513 list_dl *list = NULL;
514 node_dl *node1 = NULL;
515 node_dl *node2 = NULL;
516 node_dl *node3 = NULL;
518 list_dl_new( &list );
520 node1 = mem_get( sizeof( node_dl ) );
521 node2 = mem_get( sizeof( node_dl ) );
522 node3 = mem_get( sizeof( node_dl ) );
524 node1->val = "TEST1";
525 node2->val = "TEST2";
526 node3->val = "TEST3";
528 list_dl_add_beg( &list, &node1 );
529 list_dl_add_beg( &list, &node2 );
530 list_dl_add_beg( &list, &node3 );
532 list_dl_destroy( &list );
534 assert( list == NULL );
536 // list_dl_print( list );
538 fprintf( stderr, "OK\n" );