#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 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); 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); }