/
SoRusV
/
AquaController2
Обзор
Документация
Войти
/
SoRusV
/
AquaController2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libraries/ArduinoJson/test/JsonVariant/copy.cpp
64 строки
1 KB
Vteselkin
-add support libraries
29 окт 2020, 22:01
29 окт 2020, 22:01
b1654a8
Код
Авторство
О чём код?
// ArduinoJson - arduinojson.org // Copyright Benoit Blanchon 2014-2019 // MIT License #include <ArduinoJson.h> #include <catch.hpp> TEST_CASE("JsonVariant copy") { DynamicJsonBuffer _jsonBuffer; JsonVariant _variant1; JsonVariant _variant2; SECTION("IntegersAreCopiedByValue") { _variant1 = 123; _variant2 = _variant1; _variant1 = 456; REQUIRE(123 == _variant2.as<int>()); } SECTION("DoublesAreCopiedByValue") { _variant1 = 123.45; _variant2 = _variant1; _variant1 = 456.78; REQUIRE(123.45 == _variant2.as<double>()); } SECTION("BooleansAreCopiedByValue") { _variant1 = true; _variant2 = _variant1; _variant1 = false; REQUIRE(_variant2.as<bool>()); } SECTION("StringsAreCopiedByValue") { _variant1 = "hello"; _variant2 = _variant1; _variant1 = "world"; REQUIRE(std::string("hello") == _variant2.as<const char *>()); } SECTION("ObjectsAreCopiedByReference") { JsonObject &object = _jsonBuffer.createObject(); _variant1 = object; object["hello"] = "world"; REQUIRE(1 == _variant1.as<JsonObject>().size()); } SECTION("ArraysAreCopiedByReference") { JsonArray &array = _jsonBuffer.createArray(); _variant1 = array; array.add("world"); REQUIRE(1 == _variant1.as<JsonArray>().size()); } }