main.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include "sllist.h"
  2. #include "common.h"
  3. static inline int test_create()
  4. {
  5. sl_list *a = sllist_create();
  6. _assertNotNull(a);
  7. _assertEqual(sllist_count(a), 0);
  8. _assertEqual(sllist_count(sllist_clear(a)), 0);
  9. sllist_destroy(a);
  10. return 0;
  11. }
  12. static inline int test_add()
  13. {
  14. unsigned long long i;
  15. sl_list *a = sllist_create();
  16. _assertNotNull(a);
  17. _assertEqual(sllist_count(a), 0);
  18. sllist_pushback(a, (void *)3);
  19. _assertEqual(sllist_count(a), 1);
  20. _assertEqual(sllist_at(a, 0), 3);
  21. sllist_pushback(a, (void *)2);
  22. _assertEqual(sllist_count(a), 2);
  23. _assertEqual(sllist_at(a, 0), 3);
  24. _assertEqual(sllist_at(a, 1), 2);
  25. _assertEqual(sllist_popback(a), 2);
  26. _assertEqual(sllist_count(a), 1);
  27. _assertEqual(sllist_at(a, 0), 3);
  28. sllist_clear(a);
  29. _assertEqual(sllist_count(a), 0);
  30. for (i=0; i < 1024; ++i)
  31. sllist_pushback(a, (void *)(i * 2));
  32. _assertEqual(sllist_count(a), 1024);
  33. _assertEqual(sllist_at(a, 0), 0);
  34. _assertEqual(sllist_at(a, 1023), 2046);
  35. _assertEqual(sllist_at(a, 1024), 0);
  36. while (sllist_count(a))
  37. sllist_popback(a);
  38. for (i=0; i < 1024; ++i)
  39. sllist_pushback(a, (void *)(i * 2));
  40. _assertEqual(sllist_count(a), 1024);
  41. _assertEqual(sllist_at(a, 0), 0);
  42. _assertEqual(sllist_at(a, 1023), 2046);
  43. _assertEqual(sllist_at(a, 1024), 0);
  44. sllist_destroy(a);
  45. return 0;
  46. }
  47. int main()
  48. {
  49. int success = 1;
  50. success &= !test_create();
  51. success &= !test_add();
  52. exit(success ? EXIT_SUCCESS: EXIT_FAILURE);
  53. }