| 382 | } |
| 383 | |
| 384 | void testDeserializeSet() { |
| 385 | |
| 386 | JsonDocument doc; |
| 387 | |
| 388 | RNS::Bytes data; |
| 389 | if (RNS::Utilities::OS::read_file(test_set_path, data) > 0) { |
| 390 | TRACEF("testDeserializeSet: read: %lu bytes", data.size()); |
| 391 | //TRACEF("testDeserializeSet: data: %s", data.toString().c_str()); |
| 392 | DeserializationError error = deserializeJson(doc, data.data()); |
| 393 | //DeserializationError error = deserializeMsgPack(doc, data.data()); |
| 394 | if (!error) { |
| 395 | TRACE("testDeserializeSet: successfully deserialized"); |
| 396 | |
| 397 | std::set<TestObject> set = doc.as<std::set<TestObject>>(); |
| 398 | for (auto& test : set) { |
| 399 | TRACEF("testDeserializeSet: entry: %s", test.toString().c_str()); |
| 400 | } |
| 401 | |
| 402 | //JsonArray arr = doc.as<JsonArray>(); |
| 403 | //for (JsonVariant elem : arr) { |
| 404 | // TRACEF("testDeserializeSet: entry: %s", elem.as<TestObject>().toString().c_str()); |
| 405 | //} |
| 406 | } |
| 407 | else { |
| 408 | TRACE("testDeserializeSet: failed to deserialize"); |
| 409 | TEST_FAIL(); |
| 410 | } |
| 411 | //assert(RNS::Utilities::OS::remove_file(test_set_path)); |
| 412 | } |
| 413 | else { |
| 414 | TRACE("testDeserializeSet: read failed"); |
| 415 | TEST_FAIL(); |
| 416 | } |
| 417 | |
| 418 | } |
| 419 | |
| 420 | |
| 421 | const char test_map_path[] = "./test_map"; |