remove.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2019
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonArray::remove()") {
  7. DynamicJsonDocument doc(4096);
  8. JsonArray _array = doc.to<JsonArray>();
  9. _array.add(1);
  10. _array.add(2);
  11. _array.add(3);
  12. SECTION("RemoveFirstByIndex") {
  13. _array.remove(0);
  14. REQUIRE(2 == _array.size());
  15. REQUIRE(_array[0] == 2);
  16. REQUIRE(_array[1] == 3);
  17. }
  18. SECTION("RemoveMiddleByIndex") {
  19. _array.remove(1);
  20. REQUIRE(2 == _array.size());
  21. REQUIRE(_array[0] == 1);
  22. REQUIRE(_array[1] == 3);
  23. }
  24. SECTION("RemoveLastByIndex") {
  25. _array.remove(2);
  26. REQUIRE(2 == _array.size());
  27. REQUIRE(_array[0] == 1);
  28. REQUIRE(_array[1] == 2);
  29. }
  30. SECTION("RemoveFirstByIterator") {
  31. JsonArray::iterator it = _array.begin();
  32. _array.remove(it);
  33. REQUIRE(2 == _array.size());
  34. REQUIRE(_array[0] == 2);
  35. REQUIRE(_array[1] == 3);
  36. }
  37. SECTION("RemoveMiddleByIterator") {
  38. JsonArray::iterator it = _array.begin();
  39. ++it;
  40. _array.remove(it);
  41. REQUIRE(2 == _array.size());
  42. REQUIRE(_array[0] == 1);
  43. REQUIRE(_array[1] == 3);
  44. }
  45. SECTION("RemoveLastByIterator") {
  46. JsonArray::iterator it = _array.begin();
  47. ++it;
  48. ++it;
  49. _array.remove(it);
  50. REQUIRE(2 == _array.size());
  51. REQUIRE(_array[0] == 1);
  52. REQUIRE(_array[1] == 2);
  53. }
  54. }