StaticJsonBufferTests.cpp 1.5 KB

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