Ver Fonte

Test const itertor

Benoit Blanchon há 11 anos atrás
pai
commit
bb8bddc758
1 ficheiros alterados com 16 adições e 7 exclusões
  1. 16 7
      test/JsonArray_Iterator_Tests.cpp

+ 16 - 7
test/JsonArray_Iterator_Tests.cpp

@@ -7,23 +7,32 @@
 #include <gtest/gtest.h>
 #include <ArduinoJson.h>
 
-TEST(JsonArray_Iterator_Test, SimpleTest) {
+template <typename TArray>
+static void run_iterator_test() {
   StaticJsonBuffer<100> jsonBuffer;
 
   JsonArray &array = jsonBuffer.createArray();
   array.add(12);
   array.add(34);
 
-  JsonArray::iterator it = array.begin();
-  JsonArray::iterator end = array.end();
+  typename TArray::iterator it = array.begin();
+  typename TArray::iterator end = array.end();
 
   EXPECT_NE(end, it);
-  EXPECT_EQ(12, it->as<int>());
-  EXPECT_EQ(12, (*it).as<int>());
+  EXPECT_EQ(12, it->template as<int>());
+  EXPECT_EQ(12, static_cast<int>(*it));
   ++it;
   EXPECT_NE(end, it);
-  EXPECT_EQ(34, it->as<int>());
-  EXPECT_EQ(34, (*it).as<int>());
+  EXPECT_EQ(34, it->template as<int>());
+  EXPECT_EQ(34, static_cast<int>(*it));
   ++it;
   EXPECT_EQ(end, it);
 }
+
+TEST(JsonArray_Iterator_Test, RunItertorToEnd) {
+  run_iterator_test<JsonArray>();
+}
+
+TEST(JsonArray_Iterator_Test, RunConstItertorToEnd) {
+  run_iterator_test<const JsonArray>();
+}