static void _parcObjectTesting_AssertToString(const PARCObject *instance) { char *result = parcObject_ToString(instance); assertNotNull(result, "Something should be returned"); parcMemory_Deallocate(&result); }
PARCJSON * parcHashMap_ToJSON(const PARCHashMap *hashMap) { parcHashMap_OptionalAssertValid(hashMap); PARCJSON *result = parcJSON_Create(); PARCIterator *iterator = parcHashMap_CreateKeyIterator((PARCHashMap *) hashMap); while (parcIterator_HasNext(iterator)) { PARCObject *keyObject = parcIterator_Next(iterator); const PARCObject *valueObject = parcHashMap_Get(hashMap, keyObject); char *key = parcObject_ToString(keyObject); PARCJSON *value = parcObject_ToJSON(valueObject); parcJSON_AddObject(result, key, value); parcMemory_Deallocate(&key); parcJSON_Release(&value); } parcIterator_Release(&iterator); return result; }
PARCBufferComposer * parcHashMap_BuildString(const PARCHashMap *hashMap, PARCBufferComposer *composer) { PARCIterator *iterator = parcHashMap_CreateKeyIterator((PARCHashMap *) hashMap); while (parcIterator_HasNext(iterator)) { PARCObject *keyObject = parcIterator_Next(iterator); const PARCObject *valueObject = parcHashMap_Get(hashMap, keyObject); char *key = parcObject_ToString(keyObject); char *value = parcObject_ToString(valueObject); parcBufferComposer_Format(composer, "%s -> %s\n", key, value); parcMemory_Deallocate(&key); parcMemory_Deallocate(&value); } parcIterator_Release(&iterator); return composer; }
void parcHashMap_Display(const PARCHashMap *hashMap, int indentation) { parcDisplayIndented_PrintLine(indentation, "PARCHashMap@%p {", hashMap); PARCIterator *iterator = parcHashMap_CreateKeyIterator((PARCHashMap *) hashMap); while (parcIterator_HasNext(iterator)) { PARCObject *keyObject = parcIterator_Next(iterator); const PARCObject *valueObject = parcHashMap_Get(hashMap, keyObject); char *key = parcObject_ToString(keyObject); char *value = parcObject_ToString(valueObject); parcDisplayIndented_PrintLine(indentation + 1, "%s -> %s", key, value); parcMemory_Deallocate(&key); parcMemory_Deallocate(&value); } parcIterator_Release(&iterator); parcDisplayIndented_PrintLine(indentation, "}"); }