test_set_value.c 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <assert.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "json.h"
  5. int main(int argc, char **argv)
  6. {
  7. json_object *tmp=json_object_new_int(123);
  8. assert (json_object_get_int(tmp)==123);
  9. json_object_set_int(tmp,321);
  10. assert (json_object_get_int(tmp)==321);
  11. printf("INT PASSED\n");
  12. json_object_set_int64(tmp,(int64_t)321321321);
  13. assert (json_object_get_int64(tmp)==321321321);
  14. json_object_put(tmp);
  15. printf("INT64 PASSED\n");
  16. tmp=json_object_new_boolean(TRUE);
  17. assert (json_object_get_boolean(tmp)==TRUE);
  18. json_object_set_boolean(tmp,FALSE);
  19. assert (json_object_get_boolean(tmp)==FALSE);
  20. json_object_set_boolean(tmp,TRUE);
  21. assert (json_object_get_boolean(tmp)==TRUE);
  22. json_object_put(tmp);
  23. printf("BOOL PASSED\n");
  24. tmp=json_object_new_double(12.34);
  25. assert (json_object_get_double(tmp)==12.34);
  26. json_object_set_double(tmp,34.56);
  27. assert (json_object_get_double(tmp)==34.56);
  28. json_object_set_double(tmp,6435.34);
  29. assert (json_object_get_double(tmp)==6435.34);
  30. json_object_put(tmp);
  31. printf("DOUBLE PASSED\n");
  32. #define SHORT "SHORT"
  33. #define MID "A MID STRING"
  34. // 12345678901234567890123456789012....
  35. #define HUGE "A string longer than 32 chars as to check non local buf codepath"
  36. tmp=json_object_new_string(SHORT);
  37. assert (strcmp(json_object_get_string(tmp),SHORT)==0);
  38. json_object_set_string(tmp,MID);
  39. assert (strcmp(json_object_get_string(tmp),MID)==0);
  40. json_object_set_string(tmp,HUGE);
  41. assert (strcmp(json_object_get_string(tmp),HUGE)==0);
  42. json_object_set_string(tmp,SHORT);
  43. assert (strcmp(json_object_get_string(tmp),SHORT)==0);
  44. json_object_put(tmp);
  45. printf("STRING PASSED\n");
  46. printf("PASSED\n");
  47. return 0;
  48. }