Jelajahi Sumber

Test DynamicJsonBuffer behavior with arrays

Benoit Blanchon 11 tahun lalu
induk
melakukan
c32e306be9
2 mengubah file dengan 33 tambahan dan 0 penghapusan
  1. 1 0
      include/ArduinoJson.h
  2. 32 0
      test/DynamicJsonBuffer_Array_Tests.cpp

+ 1 - 0
include/ArduinoJson.h

@@ -4,6 +4,7 @@
 // Arduino JSON library
 // https://github.com/bblanchon/ArduinoJson
 
+#include "../include/ArduinoJson/DynamicJsonBuffer.hpp"
 #include "../include/ArduinoJson/JsonArray.hpp"
 #include "../include/ArduinoJson/JsonObject.hpp"
 #include "../include/ArduinoJson/StaticJsonBuffer.hpp"

+ 32 - 0
test/DynamicJsonBuffer_Array_Tests.cpp

@@ -0,0 +1,32 @@
+// Copyright Benoit Blanchon 2014
+// MIT License
+//
+// Arduino JSON library
+// https://github.com/bblanchon/ArduinoJson
+
+#include <gtest/gtest.h>
+#include <ArduinoJson.h>
+
+TEST(DynamicJsonBuffer_Array_Tests, GrowsWithArray) {
+  DynamicJsonBuffer jsonBuffer;
+
+  JsonArray &array = jsonBuffer.createArray();
+  ASSERT_EQ(JSON_ARRAY_SIZE(0), jsonBuffer.size());
+
+  array.add("hello");
+  ASSERT_EQ(JSON_ARRAY_SIZE(1), jsonBuffer.size());
+
+  array.add("world");
+  ASSERT_EQ(JSON_ARRAY_SIZE(2), jsonBuffer.size());
+}
+
+TEST(DynamicJsonBuffer_Array_Tests, CanAdd1000Values) {
+  DynamicJsonBuffer jsonBuffer;
+
+  JsonArray &array = jsonBuffer.createArray();
+
+  for (int i = 1; i <= 1000; i++) {
+    array.add("hello");
+    ASSERT_EQ(array.size(), i);
+  }
+}