remove.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 <gtest/gtest.h>
  9. class JsonArray_Remove_Tests : public ::testing::Test {
  10. protected:
  11. JsonArray_Remove_Tests() : _array(_jsonBuffer.createArray()) {
  12. _array.add("one");
  13. _array.add("two");
  14. _array.add("three");
  15. }
  16. DynamicJsonBuffer _jsonBuffer;
  17. JsonArray& _array;
  18. };
  19. #define TEST_(name) TEST_F(JsonArray_Remove_Tests, name)
  20. TEST_(RemoveFirstByIndex) {
  21. _array.remove(0);
  22. EXPECT_EQ(2, _array.size());
  23. EXPECT_STREQ("two", _array[0]);
  24. EXPECT_STREQ("three", _array[1]);
  25. }
  26. TEST_(RemoveMiddleByIndex) {
  27. _array.remove(1);
  28. EXPECT_EQ(2, _array.size());
  29. EXPECT_STREQ("one", _array[0]);
  30. EXPECT_STREQ("three", _array[1]);
  31. }
  32. TEST_(RemoveLastByIndex) {
  33. _array.remove(2);
  34. EXPECT_EQ(2, _array.size());
  35. EXPECT_STREQ("one", _array[0]);
  36. EXPECT_STREQ("two", _array[1]);
  37. }
  38. TEST_(RemoveFirstByIterator) {
  39. JsonArray::iterator it = _array.begin();
  40. _array.remove(it);
  41. EXPECT_EQ(2, _array.size());
  42. EXPECT_STREQ("two", _array[0]);
  43. EXPECT_STREQ("three", _array[1]);
  44. }
  45. TEST_(RemoveMiddleByIterator) {
  46. JsonArray::iterator it = _array.begin();
  47. ++it;
  48. _array.remove(it);
  49. EXPECT_EQ(2, _array.size());
  50. EXPECT_STREQ("one", _array[0]);
  51. EXPECT_STREQ("three", _array[1]);
  52. }
  53. TEST_(RemoveLastByIterator) {
  54. JsonArray::iterator it = _array.begin();
  55. ++it;
  56. ++it;
  57. _array.remove(it);
  58. EXPECT_EQ(2, _array.size());
  59. EXPECT_STREQ("one", _array[0]);
  60. EXPECT_STREQ("two", _array[1]);
  61. }