| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #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;
- }
- int cmp_int(const void *a, const void *b)
- {
- return a == b;
- }
- 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);
- _assertEqual(sllist_find(a, cmp_int, 0), 0);
- _assertEqual(sllist_find(a, cmp_int, (void *)2), 1);
- _assertEqual(sllist_find(a, cmp_int, (void *)2046), 1023);
- _assertEqual(sllist_find(a, cmp_int, (void *)2048), -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);
- _assertEqual(sllist_find(a, cmp_int, (void *)1), 0);
- _assertEqual(sllist_find(a, cmp_int, (void *)3), 1);
- _assertEqual(sllist_find(a, cmp_int, (void *)2047), 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);
- }
|