createArray.cpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2023
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("StaticJsonBuffer::createArray()") {
  7. SECTION("GrowsWithArray") {
  8. StaticJsonBuffer<JSON_ARRAY_SIZE(2)> json;
  9. JsonArray &array = json.createArray();
  10. REQUIRE(JSON_ARRAY_SIZE(0) == json.size());
  11. array.add("hello");
  12. REQUIRE(JSON_ARRAY_SIZE(1) == json.size());
  13. array.add("world");
  14. REQUIRE(JSON_ARRAY_SIZE(2) == json.size());
  15. }
  16. SECTION("SucceedWhenBigEnough") {
  17. StaticJsonBuffer<JSON_ARRAY_SIZE(0)> json;
  18. JsonArray &array = json.createArray();
  19. REQUIRE(array.success());
  20. }
  21. SECTION("FailsWhenTooSmall") {
  22. StaticJsonBuffer<JSON_ARRAY_SIZE(0) - 1> json;
  23. JsonArray &array = json.createArray();
  24. REQUIRE_FALSE(array.success());
  25. }
  26. SECTION("ArrayDoesntGrowWhenFull") {
  27. StaticJsonBuffer<JSON_ARRAY_SIZE(1)> json;
  28. JsonArray &array = json.createArray();
  29. array.add("hello");
  30. array.add("world");
  31. REQUIRE(1 == array.size());
  32. }
  33. }