LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_BuildString) { PARCJSONArray *array = parcJSONArray_Create(); PARCJSONValue *expected = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(array, expected); PARCBufferComposer *composer = parcBufferComposer_Create(); parcJSONArray_BuildString(array, composer, false); PARCBuffer *tempBuffer = parcBufferComposer_ProduceBuffer(composer); parcBufferComposer_Release(&composer); char *result = parcBuffer_ToString(tempBuffer); parcBuffer_Release(&tempBuffer); assertTrue(strlen(result) > 0, "Expected non-empty string result"); parcMemory_Deallocate((void **) &result); composer = parcBufferComposer_Create(); parcJSONArray_BuildString(array, composer, true); tempBuffer = parcBufferComposer_ProduceBuffer(composer); parcBufferComposer_Release(&composer); result = parcBuffer_ToString(tempBuffer); parcBuffer_Release(&tempBuffer); assertTrue(strlen(result) > 0, "Expected non-empty string result"); parcMemory_Deallocate((void **) &result); parcJSONValue_Release(&expected); parcJSONArray_Release(&array); }
LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_AddValue) { PARCJSONArray *expected = parcJSONArray_Create(); PARCJSONValue *value = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(expected, value); parcJSONValue_Release(&value); parcJSONArray_Release(&expected); }
LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_GetLength) { PARCJSONArray *expected = parcJSONArray_Create(); PARCJSONValue *value = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(expected, value); parcJSONValue_Release(&value); assertTrue(parcJSONArray_GetLength(expected) == 1, "Expected a length of 1"); parcJSONArray_Release(&expected); }
LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_Display) { PARCJSONArray *array = parcJSONArray_Create(); PARCJSONValue *expected = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(array, expected); parcJSONValue_Release(&expected); parcJSONArray_Display(array, 0); parcJSONArray_Release(&array); }
LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_ToString) { PARCJSONArray *array = parcJSONArray_Create(); PARCJSONValue *expected = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(array, expected); parcJSONValue_Release(&expected); const char *string = parcJSONArray_ToString(array); parcMemory_Deallocate((void **) &string); parcJSONArray_Release(&array); }
LONGBOW_TEST_CASE(parc_JSONArray, parcJSONArray_GetValue) { PARCJSONArray *array = parcJSONArray_Create(); PARCJSONValue *expected = parcJSONValue_CreateFromInteger(10); parcJSONArray_AddValue(array, expected); PARCJSONValue *actual = parcJSONArray_GetValue(array, 0); assertTrue(expected == actual, "Expected different value"); parcJSONValue_Release(&expected); parcJSONArray_Release(&array); }
LONGBOW_TEST_CASE(JSON, parcJSON_Add) { PARCJSON *json = parcJSON_Create(); { PARCBuffer *string = parcBuffer_WrapCString("string"); PARCJSONValue *stringValue = parcJSONValue_CreateFromString(string); PARCBuffer *stringName = parcBuffer_WrapCString("string"); PARCJSONPair *pair = parcJSONPair_Create(stringName, stringValue); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&stringName); parcJSONValue_Release(&stringValue); parcBuffer_Release(&string); } { PARCBuffer *name = parcBuffer_WrapCString("null"); PARCJSONValue *value = parcJSONValue_CreateFromNULL(); PARCJSONPair *pair = parcJSONPair_Create(name, value); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&name); parcJSONValue_Release(&value); } { PARCBuffer *name = parcBuffer_WrapCString("true"); PARCJSONValue *value = parcJSONValue_CreateFromBoolean(true); PARCJSONPair *pair = parcJSONPair_Create(name, value); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&name); parcJSONValue_Release(&value); } { PARCBuffer *name = parcBuffer_WrapCString("false"); PARCJSONValue *value = parcJSONValue_CreateFromBoolean(false); PARCJSONPair *pair = parcJSONPair_Create(name, value); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&name); parcJSONValue_Release(&value); } { PARCBuffer *name = parcBuffer_WrapCString("integer"); PARCJSONValue *value = parcJSONValue_CreateFromInteger(31415); PARCJSONPair *pair = parcJSONPair_Create(name, value); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&name); parcJSONValue_Release(&value); } { PARCBuffer *name = parcBuffer_WrapCString("float"); PARCJSONValue *value = parcJSONValue_CreateFromFloat(3.1415); PARCJSONPair *pair = parcJSONPair_Create(name, value); parcJSON_AddPair(json, pair); parcJSONPair_Release(&pair); parcBuffer_Release(&name); parcJSONValue_Release(&value); } parcJSON_Release(&json); }