StaticJsonBufferTests.cpp 1.6 KB

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