2017-11-07 20:42:50 +01:00
|
|
|
// ArduinoJson - arduinojson.org
|
2020-01-09 15:48:38 +01:00
|
|
|
// Copyright Benoit Blanchon 2014-2020
|
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
|
|
|
|
2018-10-12 12:00:27 +02:00
|
|
|
template <typename TArray>
|
2014-12-05 22:11:45 +01:00
|
|
|
static void run_iterator_test() {
|
2018-04-17 21:27:45 +02:00
|
|
|
StaticJsonDocument<JSON_ARRAY_SIZE(2)> doc;
|
2018-10-12 12:00:27 +02:00
|
|
|
JsonArray tmp = doc.to<JsonArray>();
|
|
|
|
tmp.add(12);
|
|
|
|
tmp.add(34);
|
2014-10-22 17:59:59 +02:00
|
|
|
|
2018-10-12 12:00:27 +02:00
|
|
|
TArray array = tmp;
|
|
|
|
typename TArray::iterator it = array.begin();
|
|
|
|
typename TArray::iterator 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()") {
|
2020-02-20 09:18:10 +01:00
|
|
|
SECTION("Non null JsonArray") {
|
|
|
|
run_iterator_test<JsonArray>();
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Null JsonArray") {
|
|
|
|
JsonArray array;
|
|
|
|
|
|
|
|
REQUIRE(array.begin() == array.end());
|
|
|
|
}
|
2018-10-12 12:00:27 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
TEST_CASE("JsonArrayConst::begin()/end()") {
|
2020-02-20 09:18:10 +01:00
|
|
|
SECTION("Non null JsonArrayConst") {
|
|
|
|
run_iterator_test<JsonArrayConst>();
|
|
|
|
}
|
|
|
|
|
|
|
|
SECTION("Null JsonArrayConst") {
|
|
|
|
JsonArrayConst array;
|
|
|
|
|
|
|
|
REQUIRE(array.begin() == array.end());
|
|
|
|
}
|
2014-12-05 22:11:45 +01:00
|
|
|
}
|