StaticJsonBuffer_CreateArray_Tests.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright Benoit Blanchon 2014-2016
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. // If you like this project, please add a star!
  7. #include <gtest/gtest.h>
  8. #include <ArduinoJson.h>
  9. TEST(StaticJsonBuffer_CreateArray_Tests, GrowsWithArray) {
  10. StaticJsonBuffer<JSON_ARRAY_SIZE(2)> json;
  11. JsonArray &array = json.createArray();
  12. ASSERT_EQ(JSON_ARRAY_SIZE(0), json.size());
  13. array.add("hello");
  14. ASSERT_EQ(JSON_ARRAY_SIZE(1), json.size());
  15. array.add("world");
  16. ASSERT_EQ(JSON_ARRAY_SIZE(2), json.size());
  17. }
  18. TEST(StaticJsonBuffer_CreateArray_Tests, SucceedWhenBigEnough) {
  19. StaticJsonBuffer<JSON_ARRAY_SIZE(0)> json;
  20. JsonArray &array = json.createArray();
  21. ASSERT_TRUE(array.success());
  22. }
  23. TEST(StaticJsonBuffer_CreateArray_Tests, FailsWhenTooSmall) {
  24. StaticJsonBuffer<JSON_ARRAY_SIZE(0) - 1> json;
  25. JsonArray &array = json.createArray();
  26. ASSERT_FALSE(array.success());
  27. }
  28. TEST(StaticJsonBuffer_CreateArray_Tests, ArrayDoesntGrowWhenFull) {
  29. StaticJsonBuffer<JSON_ARRAY_SIZE(1)> json;
  30. JsonArray &array = json.createArray();
  31. array.add("hello");
  32. array.add("world");
  33. EXPECT_EQ(1, array.size());
  34. }