/src/test/params_test.c

http://ftk.googlecode.com/ · C · 36 lines · 28 code · 8 blank · 0 comment · 4 complexity · 98918dad77eee865716695cf94450483 MD5 · raw file

  1. #include "ftk.h"
  2. #include "ftk_params.h"
  3. int main(int argc, char* argv[])
  4. {
  5. int i = 0;
  6. int nr = 100;
  7. char key[FTK_KEY_LEN+1];
  8. char value[FTK_VALUE_LEN+1];
  9. FtkParams* thiz = NULL;
  10. ftk_set_allocator(ftk_allocator_default_create());
  11. thiz = ftk_params_create(nr, nr);
  12. for(i = 0; i < nr; i++)
  13. {
  14. snprintf(key, FTK_KEY_LEN, "key%d", i);
  15. snprintf(value, FTK_VALUE_LEN, "2*($i%d+%d)-($i%d+%d))", i, i, i, i);
  16. assert(ftk_params_set_param(thiz, key, value) == RET_OK);
  17. snprintf(key, FTK_KEY_LEN, "i%d", i);
  18. snprintf(value, FTK_VALUE_LEN, "%d", i);
  19. assert(ftk_params_set_var(thiz, key, value) == RET_OK);
  20. snprintf(key, FTK_KEY_LEN, "key%d", i);
  21. assert(ftk_params_eval_int(thiz, key, 0) == 2 * i);
  22. ftk_logd("[%d] %d\n", i, ftk_params_eval_int(thiz, key, 0));
  23. ftk_logd("[%d] %s\n", i, ftk_params_eval_string(thiz, key));
  24. }
  25. ftk_params_dump(thiz);
  26. ftk_params_destroy(thiz);
  27. return 0;
  28. }