remove.cpp 1.3 KB

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