StaticJsonBufferTests.cpp 1.5 KB

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