| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #include "sllist.h"
- #include "common.h"
- static inline int test_create()
- {
- sl_list *a = sllist_create();
- _assertNotNull(a);
- _assertEqual(sllist_count(a), 0);
- _assertEqual(sllist_count(sllist_clear(a)), 0);
- sllist_destroy(a);
- return 0;
- }
- static inline int add1_fnc(void **_i, void *nullable)
- {
- (void) nullable;
- int * i = (int *)_i;
- (*i)++;
- return 1;
- }
- static inline int test_add()
- {
- unsigned long long i;
- sl_list *a = sllist_create();
- _assertNotNull(a);
- _assertEqual(sllist_count(a), 0);
- sllist_pushback(a, (void *)3);
- _assertEqual(sllist_count(a), 1);
- _assertEqual(sllist_at(a, 0), 3);
- sllist_pushback(a, (void *)2);
- _assertEqual(sllist_count(a), 2);
- _assertEqual(sllist_at(a, 0), 3);
- _assertEqual(sllist_at(a, 1), 2);
- _assertEqual(sllist_popback(a), 2);
- _assertEqual(sllist_count(a), 1);
- _assertEqual(sllist_at(a, 0), 3);
- sllist_clear(a);
- _assertEqual(sllist_count(a), 0);
- for (i=0; i < 1024; ++i)
- sllist_pushback(a, (void *)(i * 2));
- _assertEqual(sllist_count(a), 1024);
- _assertEqual(sllist_at(a, 0), 0);
- _assertEqual(sllist_at(a, 1023), 2046);
- _assertEqual(sllist_at(a, 1024), 0);
- i = 0;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 0);
- i = 2;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 1);
- i = 2046;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 1023);
- i = 2048;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), -1);
- sllist_foreach(a, add1_fnc, NULL);
- _assertEqual(sllist_count(a), 1024);
- _assertEqual(sllist_at(a, 0), 1);
- _assertEqual(sllist_at(a, 1023), 2047);
- _assertEqual(sllist_at(a, 1024), 0);
- i = 1;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 0);
- i = 3;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 1);
- i = 2047;
- _assertEqual(sllist_find(a, sllist_cmp_int, (void*)i), 1023);
- while (sllist_count(a))
- sllist_popback(a);
- for (i=0; i < 1024; ++i)
- sllist_pushback(a, (void *)(i * 2));
- _assertEqual(sllist_count(a), 1024);
- _assertEqual(sllist_at(a, 0), 0);
- _assertEqual(sllist_at(a, 1023), 2046);
- _assertEqual(sllist_at(a, 1024), 0);
- sllist_destroy(a);
- return 0;
- }
- int main()
- {
- int success = 1;
- success &= !test_create();
- success &= !test_add();
- exit(success ? EXIT_SUCCESS: EXIT_FAILURE);
- }
|