101 lines
2.6 KiB
C++
101 lines
2.6 KiB
C++
#include "TestSuite.h"
|
|
#include "../Source/JSONNode.h"
|
|
|
|
void TestSuite::TestEquality(void){
|
|
UnitTest::SetPrefix("TestEquality.cpp - Equality");
|
|
#ifdef JSON_LIBRARY
|
|
JSONNODE * test1 = json_new(JSON_NODE);
|
|
JSONNODE * test2 = json_new(JSON_NODE);
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
//check literally the same internal pointer
|
|
json_set_n(test2, test1);
|
|
#ifdef JSON_UNIT_TEST
|
|
#ifdef JSON_REF_COUNT
|
|
assertEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal);
|
|
#else
|
|
assertNotEquals(((JSONNode*)test1) -> internal, ((JSONNode*)test2) -> internal);
|
|
#endif
|
|
#endif
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_set_a(test1, JSON_TEXT("hello"));
|
|
json_set_a(test2, JSON_TEXT("hello"));
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_set_f(test1, 13.5f);
|
|
json_set_f(test2, 13.5f);
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_set_i(test1, 13);
|
|
json_set_f(test2, 13.0f);
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_set_b(test1, true);
|
|
json_set_b(test2, (int)true);
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_set_b(test1, false);
|
|
json_set_b(test2, (int)false);
|
|
assertTrue(json_equal(test1, test2));
|
|
|
|
json_nullify(test1);
|
|
json_nullify(test2);
|
|
assertTrue(json_equal(test1, test2));
|
|
JSONNODE * test3 = json_new(JSON_NULL);
|
|
assertTrue(json_equal(test1, test3));
|
|
assertTrue(json_equal(test3, test3));
|
|
|
|
json_delete(test1);
|
|
json_delete(test2);
|
|
json_delete(test3);
|
|
#else
|
|
JSONNode test1;
|
|
JSONNode test2;
|
|
assertEquals(test1, test2);
|
|
|
|
//check literally the same internal pointer
|
|
test2 = test1;
|
|
#ifdef JSON_UNIT_TEST
|
|
#ifdef JSON_REF_COUNT
|
|
assertEquals(test1.internal, test2.internal);
|
|
#else
|
|
assertNotEquals(test1.internal, test2.internal);
|
|
#endif
|
|
#endif
|
|
assertEquals(test1, test2);
|
|
|
|
test1 = JSON_TEXT("hello");
|
|
test2 = JSON_TEXT("hello");
|
|
assertEquals(test1, JSON_TEXT("hello"));
|
|
assertEquals(test1, test2);
|
|
|
|
test1 = 13.5f;
|
|
test2 = 13.5f;
|
|
assertEquals(test1, 13.5f);
|
|
assertEquals(test1, test2);
|
|
|
|
test1 = 13;
|
|
test2 = 13.0f;
|
|
assertEquals(test1, 13.0f);
|
|
assertEquals(test1, 13);
|
|
assertEquals(test1, test2);
|
|
|
|
test1 = true;
|
|
test2 = true;
|
|
assertEquals(test1, true);
|
|
assertEquals(test1, test2);
|
|
|
|
test1 = false;
|
|
test2 = false;
|
|
assertEquals(test1, false);
|
|
assertEquals(test1, test2);
|
|
|
|
test1.nullify();
|
|
test2.nullify();
|
|
assertEquals(test1, test2);
|
|
JSONNode test3 = JSONNode(JSON_NULL);
|
|
assertEquals(test1, test3);
|
|
assertEquals(test2, test3);
|
|
#endif
|
|
}
|