/
SoRusV
/
AquaController2
Обзор
Документация
Войти
/
SoRusV
/
AquaController2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libraries/ArduinoJson/test/JsonVariant/subscript.cpp
77 строк
2 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::operator[]") { DynamicJsonBuffer _jsonBuffer; SECTION("Array") { JsonArray &array = _jsonBuffer.createArray(); array.add("element at index 0"); array.add("element at index 1"); JsonVariant var = array; REQUIRE(2 == var.size()); REQUIRE(std::string("element at index 0") == var[0]); REQUIRE(std::string("element at index 1") == var[1]); REQUIRE(std::string("element at index 0") == var[static_cast<unsigned char>(0)]); // issue #381 REQUIRE_FALSE(var[666].success()); REQUIRE_FALSE(var[3].success()); REQUIRE_FALSE(var["0"].success()); } SECTION("Object") { JsonObject &object = _jsonBuffer.createObject(); object["a"] = "element at key \"a\""; object["b"] = "element at key \"b\""; JsonVariant var = object; REQUIRE(2 == var.size()); REQUIRE(std::string("element at key \"a\"") == var["a"]); REQUIRE(std::string("element at key \"b\"") == var["b"]); REQUIRE_FALSE(var["c"].success()); REQUIRE_FALSE(var[0].success()); } SECTION("Undefined") { JsonVariant var = JsonVariant(); REQUIRE(0 == var.size()); REQUIRE_FALSE(var["0"].success()); REQUIRE_FALSE(var[0].success()); } SECTION("String") { JsonVariant var = "hello world"; REQUIRE(0 == var.size()); REQUIRE_FALSE(var["0"].success()); REQUIRE_FALSE(var[0].success()); } SECTION("ObjectSetValue") { JsonVariant var = _jsonBuffer.createObject(); var["hello"] = "world"; REQUIRE(1 == var.size()); REQUIRE(std::string("world") == var["hello"]); } SECTION("ArraySetValue") { JsonVariant var = _jsonBuffer.parseArray("[\"hello\"]"); var[0] = "world"; REQUIRE(1 == var.size()); REQUIRE(std::string("world") == var[0]); } SECTION("NestedObjectSetValue") { JsonVariant var = _jsonBuffer.parseArray("[{}]"); var[0]["hello"] = "world"; REQUIRE(1 == var.size()); REQUIRE(1 == var[0].size()); REQUIRE(std::string("world") == var[0]["hello"]); } }