misc.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright © 2014-2022, Benoit BLANCHON
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonVariant from JsonArray") {
  7. SECTION("JsonArray is null") {
  8. JsonArray arr;
  9. JsonVariant v = arr;
  10. REQUIRE(v.isNull() == true);
  11. }
  12. SECTION("JsonArray is not null") {
  13. DynamicJsonDocument doc(4096);
  14. JsonArray arr = doc.to<JsonArray>();
  15. arr.add(12);
  16. arr.add(34);
  17. JsonVariant v = arr;
  18. REQUIRE(v.is<JsonArray>() == true);
  19. REQUIRE(v.size() == 2);
  20. REQUIRE(v[0] == 12);
  21. REQUIRE(v[1] == 34);
  22. }
  23. }
  24. TEST_CASE("JsonVariant from JsonObject") {
  25. SECTION("JsonObject is null") {
  26. JsonObject obj;
  27. JsonVariant v = obj;
  28. REQUIRE(v.isNull() == true);
  29. }
  30. SECTION("JsonObject is not null") {
  31. DynamicJsonDocument doc(4096);
  32. JsonObject obj = doc.to<JsonObject>();
  33. obj["a"] = 12;
  34. obj["b"] = 34;
  35. JsonVariant v = obj;
  36. REQUIRE(v.is<JsonObject>() == true);
  37. REQUIRE(v.size() == 2);
  38. REQUIRE(v["a"] == 12);
  39. REQUIRE(v["b"] == 34);
  40. }
  41. }