| 460 | } |
| 461 | |
| 462 | void testDeserializeMap() { |
| 463 | |
| 464 | JsonDocument doc; |
| 465 | |
| 466 | RNS::Bytes data; |
| 467 | if (RNS::Utilities::OS::read_file(test_map_path, data) > 0) { |
| 468 | TRACEF("testDeserializeMap: read: %lu bytes", data.size()); |
| 469 | //TRACEF("testDeserializeMap: data: %s", data.toString().c_str()); |
| 470 | DeserializationError error = deserializeJson(doc, data.data()); |
| 471 | //DeserializationError error = deserializeMsgPack(doc, data.data()); |
| 472 | if (!error) { |
| 473 | TRACE("testDeserializeMap: successfully deserialized"); |
| 474 | |
| 475 | std::map<std::string, TestObject> map(doc.as<std::map<std::string, TestObject>>()); |
| 476 | for (auto& [str, test] : map) { |
| 477 | TRACEF("testDeserializeMap: entry: %s = %s", str.c_str(), test.toString().c_str()); |
| 478 | } |
| 479 | |
| 480 | //JsonObject root = doc.as<JsonObject>(); |
| 481 | //for (JsonPair kv : root) { |
| 482 | // TRACEF("testDeserializeMap: entry: %s = %s", kv.key().c_str(), kv.value().as<TestObject>().toString().c_str()); |
| 483 | //} |
| 484 | } |
| 485 | else { |
| 486 | TRACE("testDeserializeMap: failed to deserialize"); |
| 487 | TEST_FAIL(); |
| 488 | } |
| 489 | //assert(RNS::Utilities::OS::remove_file(test_map_path)); |
| 490 | } |
| 491 | else { |
| 492 | TRACE("testDeserializeMap: read failed"); |
| 493 | TEST_FAIL(); |
| 494 | } |
| 495 | |
| 496 | } |
| 497 | |
| 498 | const char test_path_table_path[] = "./test_path_table"; |
| 499 | const char test_empty_path_table_path[] = "./test_empty_path_table"; |