2017-11-07 20:42:50 +01:00
|
|
|
// ArduinoJson - arduinojson.org
|
2023-03-16 17:50:34 +01:00
|
|
|
// Copyright Benoit Blanchon 2014-2023
|
2014-10-23 23:39:22 +02:00
|
|
|
// MIT License
|
|
|
|
|
2014-11-11 16:54:46 +01:00
|
|
|
#include <ArduinoJson.h>
|
2017-04-18 18:22:24 +02:00
|
|
|
#include <catch.hpp>
|
2014-10-22 17:59:59 +02:00
|
|
|
|
2014-12-05 22:28:37 +01:00
|
|
|
template <typename TIterator>
|
2014-12-05 22:11:45 +01:00
|
|
|
static void run_iterator_test() {
|
2014-12-20 15:42:43 +01:00
|
|
|
StaticJsonBuffer<JSON_ARRAY_SIZE(2)> jsonBuffer;
|
2014-10-22 17:59:59 +02:00
|
|
|
|
2014-10-29 21:18:27 +01:00
|
|
|
JsonArray &array = jsonBuffer.createArray();
|
2014-10-23 19:54:00 +02:00
|
|
|
array.add(12);
|
|
|
|
array.add(34);
|
2014-10-22 17:59:59 +02:00
|
|
|
|
2014-12-05 22:28:37 +01:00
|
|
|
TIterator it = array.begin();
|
|
|
|
TIterator end = array.end();
|
2014-10-22 17:59:59 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(end != it);
|
|
|
|
REQUIRE(12 == it->template as<int>());
|
|
|
|
REQUIRE(12 == static_cast<int>(*it));
|
2014-10-23 19:54:00 +02:00
|
|
|
++it;
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(end != it);
|
|
|
|
REQUIRE(34 == it->template as<int>());
|
|
|
|
REQUIRE(34 == static_cast<int>(*it));
|
2014-10-23 19:54:00 +02:00
|
|
|
++it;
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(end == it);
|
2014-10-23 23:45:36 +02:00
|
|
|
}
|
2014-12-05 22:11:45 +01:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
TEST_CASE("JsonArray::begin()/end()") {
|
|
|
|
SECTION("Mutable") {
|
|
|
|
run_iterator_test<JsonArray::iterator>();
|
|
|
|
}
|
2014-12-05 22:11:45 +01:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("Const") {
|
|
|
|
run_iterator_test<JsonArray::const_iterator>();
|
|
|
|
}
|
2014-12-05 22:11:45 +01:00
|
|
|
}
|