test_table.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * This is a test for table in si
  3. */
  4. #include "si_test.h"
  5. #include "si_table.h"
  6. TEST_FUNC(si_table) {
  7. SiTable * tab = sitable_new(NULL);
  8. char * k1 = "hello";
  9. char * k2 = "world";
  10. char * k3 = "!";
  11. char * v1 = "olleh";
  12. char * v2 = "dlrow";
  13. char * v3 = "?";
  14. TEST_NOTNULL(tab);
  15. TEST_NULL(sitable_get(tab, k1));
  16. TEST_NOTNULL(sitable_set(tab, k1, v1));
  17. TEST_NOTNULL(sitable_set(tab, k2, v2));
  18. TEST_NOTNULL(sitable_set(tab, k3, v3));
  19. TEST_NOTNULL(sitable_get(tab, k1));
  20. TEST_NOTNULL(sitable_get(tab, k3));
  21. TEST_NOTNULL(sitable_get(tab, k2));
  22. TEST_STREQ(sitable_get(tab, k1), v1);
  23. TEST_STREQ(sitable_get(tab, k2), v2);
  24. TEST_STREQ(sitable_get(tab, k3), v3);
  25. TEST_STREQ(sitable_drop(tab, k3), v3);
  26. TEST_NULL(sitable_get(tab, k3));
  27. TEST_NOTNULL(sitable_set(tab, k3, v3));
  28. TEST_NOTNULL(sitable_get(tab, k3));
  29. TEST_NOTNULL(sitable_grow(tab, 1024));
  30. TEST_NOTNULL(sitable_get(tab, k3));
  31. TEST_STREQ(sitable_drop(tab, k3), v3);
  32. TEST_DONE();
  33. }
  34. int main(void) {
  35. TEST_INIT();
  36. TEST_RUN(si_table);
  37. TEST_REPORT();
  38. }