TestEquality.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "TestSuite.h"
  2. #include "../Source/JSONNode.h"
  3. void TestSuite::TestEquality(void){
  4. UnitTest::SetPrefix("TestEquality.cpp - Equality");
  5. #ifdef JSON_LIBRARY
  6. JSONNODE * test1 = json_new(JSON_NODE);
  7. JSONNODE * test2 = json_new(JSON_NODE);
  8. assertTrue(json_equal(test1, test2));
  9. //check literally the same internal pointer
  10. json_set_n(test2, test1);
  11. #ifdef JSON_UNIT_TEST
  12. #ifdef JSON_REF_COUNT
  13. assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal);
  14. #else
  15. assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal);
  16. #endif
  17. #endif
  18. assertTrue(json_equal(test1, test2));
  19. json_set_a(test1, JSON_TEXT("hello"));
  20. json_set_a(test2, JSON_TEXT("hello"));
  21. assertTrue(json_equal(test1, test2));
  22. json_set_f(test1, 13.5f);
  23. json_set_f(test2, 13.5f);
  24. assertTrue(json_equal(test1, test2));
  25. json_set_i(test1, 13);
  26. json_set_f(test2, 13.0f);
  27. assertTrue(json_equal(test1, test2));
  28. json_set_b(test1, true);
  29. json_set_b(test2, (int)true);
  30. assertTrue(json_equal(test1, test2));
  31. json_set_b(test1, false);
  32. json_set_b(test2, (int)false);
  33. assertTrue(json_equal(test1, test2));
  34. json_nullify(test1);
  35. json_nullify(test2);
  36. assertTrue(json_equal(test1, test2));
  37. JSONNODE * test3 = json_new(JSON_NULL);
  38. assertTrue(json_equal(test1, test3));
  39. assertTrue(json_equal(test3, test3));
  40. json_delete(test1);
  41. json_delete(test2);
  42. json_delete(test3);
  43. #else
  44. JSONNode test1;
  45. JSONNode test2;
  46. assertEquals(test1, test2);
  47. //check literally the same internal pointer
  48. test2 = test1;
  49. #ifdef JSON_UNIT_TEST
  50. #ifdef JSON_REF_COUNT
  51. assertEquals(test1.internal, test2.internal);
  52. #else
  53. assertNotEquals(test1.internal, test2.internal);
  54. #endif
  55. #endif
  56. assertEquals(test1, test2);
  57. test1 = JSON_TEXT("hello");
  58. test2 = JSON_TEXT("hello");
  59. assertEquals(test1, JSON_TEXT("hello"));
  60. assertEquals(test1, test2);
  61. test1 = 13.5f;
  62. test2 = 13.5f;
  63. assertEquals(test1, 13.5f);
  64. assertEquals(test1, test2);
  65. test1 = 13;
  66. test2 = 13.0f;
  67. assertEquals(test1, 13.0f);
  68. assertEquals(test1, 13);
  69. assertEquals(test1, test2);
  70. test1 = true;
  71. test2 = true;
  72. assertEquals(test1, true);
  73. assertEquals(test1, test2);
  74. test1 = false;
  75. test2 = false;
  76. assertEquals(test1, false);
  77. assertEquals(test1, test2);
  78. test1.nullify();
  79. test2.nullify();
  80. assertEquals(test1, test2);
  81. JSONNode test3 = JSONNode(JSON_NULL);
  82. assertEquals(test1, test3);
  83. assertEquals(test2, test3);
  84. #endif
  85. }