StaticJsonBufferTests.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // Copyright Benoit Blanchon 2014
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. #include <gtest/gtest.h>
  7. #include <ArduinoJson/StaticJsonBuffer.hpp>
  8. #include <ArduinoJson/JsonValue.hpp>
  9. using namespace ArduinoJson;
  10. TEST(StaticJsonBuffer, CapacityMatchTemplateParameter) {
  11. StaticJsonBuffer<42> json;
  12. EXPECT_EQ(42, json.capacity());
  13. }
  14. TEST(StaticJsonBuffer, InitialSizeIsZero) {
  15. StaticJsonBuffer<42> json;
  16. EXPECT_EQ(0, json.size());
  17. }
  18. TEST(StaticJsonBuffer, WhenCreateObjectIsCalled_ThenSizeIsIncreasedByOne) {
  19. StaticJsonBuffer<42> json;
  20. json.createObject();
  21. EXPECT_EQ(1, json.size());
  22. json.createObject();
  23. EXPECT_EQ(2, json.size());
  24. }
  25. TEST(StaticJsonBuffer,
  26. GivenBufferIsFull_WhenCreateObjectIsCalled_ThenSizeDoesNotChange) {
  27. StaticJsonBuffer<1> json;
  28. json.createObject();
  29. EXPECT_EQ(1, json.size());
  30. json.createObject();
  31. EXPECT_EQ(1, json.size());
  32. }
  33. TEST(StaticJsonBuffer,
  34. WhenCreateObjectIsCalled_ThenAnEmptyJsonObjectIsReturned) {
  35. StaticJsonBuffer<42> json;
  36. JsonObject obj = json.createObject();
  37. EXPECT_EQ(0, obj.size());
  38. }
  39. TEST(StaticJsonBuffer,
  40. GivenAJsonObject_WhenValuesAreAdded_ThenSizeIsIncreasedByTwo) {
  41. StaticJsonBuffer<42> json;
  42. JsonObject obj = json.createObject();
  43. obj["hello"];
  44. EXPECT_EQ(3, json.size());
  45. obj["world"];
  46. EXPECT_EQ(5, json.size());
  47. }
  48. TEST(
  49. StaticJsonBuffer,
  50. GivenAJsonObject_WhenSameValuesAreAddedTwice_ThenSizeIsOnlyIncreasedByTwo) {
  51. StaticJsonBuffer<42> json;
  52. JsonObject obj = json.createObject();
  53. obj["hello"];
  54. EXPECT_EQ(3, json.size());
  55. obj["hello"];
  56. EXPECT_EQ(3, json.size());
  57. }