2017-11-07 20:42:50 +01:00
|
|
|
// ArduinoJson - arduinojson.org
|
2019-02-15 13:31:46 +01:00
|
|
|
// Copyright Benoit Blanchon 2014-2019
|
2015-09-28 22:14:50 +02:00
|
|
|
// MIT License
|
|
|
|
|
|
|
|
#include <ArduinoJson.h>
|
2017-04-18 18:22:24 +02:00
|
|
|
#include <catch.hpp>
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
TEST_CASE("JsonArray::remove()") {
|
2019-01-14 10:32:19 +01:00
|
|
|
DynamicJsonDocument doc(4096);
|
2018-07-02 09:35:21 +02:00
|
|
|
JsonArray _array = doc.to<JsonArray>();
|
2017-04-18 18:22:24 +02:00
|
|
|
_array.add(1);
|
|
|
|
_array.add(2);
|
|
|
|
_array.add(3);
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveFirstByIndex") {
|
|
|
|
_array.remove(0);
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 2);
|
|
|
|
REQUIRE(_array[1] == 3);
|
|
|
|
}
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveMiddleByIndex") {
|
|
|
|
_array.remove(1);
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 1);
|
|
|
|
REQUIRE(_array[1] == 3);
|
|
|
|
}
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveLastByIndex") {
|
|
|
|
_array.remove(2);
|
2015-09-28 22:14:50 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 1);
|
|
|
|
REQUIRE(_array[1] == 2);
|
|
|
|
}
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveFirstByIterator") {
|
|
|
|
JsonArray::iterator it = _array.begin();
|
|
|
|
_array.remove(it);
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 2);
|
|
|
|
REQUIRE(_array[1] == 3);
|
|
|
|
}
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveMiddleByIterator") {
|
|
|
|
JsonArray::iterator it = _array.begin();
|
|
|
|
++it;
|
|
|
|
_array.remove(it);
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 1);
|
|
|
|
REQUIRE(_array[1] == 3);
|
|
|
|
}
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
SECTION("RemoveLastByIterator") {
|
|
|
|
JsonArray::iterator it = _array.begin();
|
|
|
|
++it;
|
|
|
|
++it;
|
|
|
|
_array.remove(it);
|
2017-04-12 21:00:13 +02:00
|
|
|
|
2017-04-18 18:22:24 +02:00
|
|
|
REQUIRE(2 == _array.size());
|
|
|
|
REQUIRE(_array[0] == 1);
|
|
|
|
REQUIRE(_array[1] == 2);
|
|
|
|
}
|
2017-04-12 21:00:13 +02:00
|
|
|
}
|