remove.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Copyright Benoit Blanchon 2014-2017
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://bblanchon.github.io/ArduinoJson/
  6. // If you like this project, please add a star!
  7. #include <ArduinoJson.h>
  8. #include <catch.hpp>
  9. TEST_CASE("JsonArray::remove()") {
  10. DynamicJsonBuffer _jsonBuffer;
  11. JsonArray& _array = _jsonBuffer.createArray();
  12. _array.add(1);
  13. _array.add(2);
  14. _array.add(3);
  15. SECTION("RemoveFirstByIndex") {
  16. _array.remove(0);
  17. REQUIRE(2 == _array.size());
  18. REQUIRE(_array[0] == 2);
  19. REQUIRE(_array[1] == 3);
  20. }
  21. SECTION("RemoveMiddleByIndex") {
  22. _array.remove(1);
  23. REQUIRE(2 == _array.size());
  24. REQUIRE(_array[0] == 1);
  25. REQUIRE(_array[1] == 3);
  26. }
  27. SECTION("RemoveLastByIndex") {
  28. _array.remove(2);
  29. REQUIRE(2 == _array.size());
  30. REQUIRE(_array[0] == 1);
  31. REQUIRE(_array[1] == 2);
  32. }
  33. SECTION("RemoveFirstByIterator") {
  34. JsonArray::iterator it = _array.begin();
  35. _array.remove(it);
  36. REQUIRE(2 == _array.size());
  37. REQUIRE(_array[0] == 2);
  38. REQUIRE(_array[1] == 3);
  39. }
  40. SECTION("RemoveMiddleByIterator") {
  41. JsonArray::iterator it = _array.begin();
  42. ++it;
  43. _array.remove(it);
  44. REQUIRE(2 == _array.size());
  45. REQUIRE(_array[0] == 1);
  46. REQUIRE(_array[1] == 3);
  47. }
  48. SECTION("RemoveLastByIterator") {
  49. JsonArray::iterator it = _array.begin();
  50. ++it;
  51. ++it;
  52. _array.remove(it);
  53. REQUIRE(2 == _array.size());
  54. REQUIRE(_array[0] == 1);
  55. REQUIRE(_array[1] == 2);
  56. }
  57. }