#include "rei-json/json.h" #include #include TEST_CASE("Stringify json") { auto objectJson = rei::json::JsonObject{}; objectJson .set("keyPositiveNumber", 12) .set("keyNegativeNumber", -13) .set("keyBooleanTrue", true) .set("keyBooleanFalse", false) .set("keyElementDeleted", true) // it will be deleted after .set("keyString", "YEP") .set("keyEmptyString", "") .setNull("keyNull"); rei::json::JsonObject obj{}; obj.set("keyNumberOnObject", 42); rei::json::JsonArray array{}; array.push(42); array.push("elemString"); array.push("elementDeleted"); // it will be deleted after array.push(""); array.push(true); array.push(false); array.pushNull(); objectJson.remove("keyElementDeleted"); array.remove(2); objectJson.set("keyObject", std::move(obj)); objectJson.set("keyArray", std::move(array)); std::string expectedJson = R"({ "keyArray": [ 42, "elemString", "", true, false, null ], "keyBooleanFalse": false, "keyBooleanTrue": true, "keyEmptyString": "", "keyNegativeNumber": -13, "keyNull": null, "keyObject": { "keyNumberOnObject": 42 }, "keyPositiveNumber": 12, "keyString": "YEP" })"; REQUIRE(rei::json::toString(objectJson) == expectedJson); }