JsonArrayIteratorTests.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * Arduino JSON library
  3. * Benoit Blanchon 2014 - MIT License
  4. */
  5. #include "CppUnitTest.h"
  6. #include "JsonParser.h"
  7. using namespace Microsoft::VisualStudio::CppUnitTestFramework;
  8. using namespace ArduinoJson::Parser;
  9. namespace JsonParserTests
  10. {
  11. TEST_CLASS(JsonArrayIteratorTests)
  12. {
  13. public:
  14. TEST_METHOD(EmptyJson)
  15. {
  16. char json[] = "";
  17. JsonParser<1> parser;
  18. JsonArray a = parser.parse(json);
  19. int loopCount = 0;
  20. for (long i : a)
  21. {
  22. loopCount++;
  23. }
  24. Assert::AreEqual(0, loopCount);
  25. }
  26. TEST_METHOD(ThreeIntegers)
  27. {
  28. char json [] = "[1,2,3]";
  29. long expected [] = {1, 2, 3};
  30. JsonParser<4> parser;
  31. JsonArray a = parser.parse(json);
  32. int index = 0;
  33. for (long i : a)
  34. {
  35. Assert::AreEqual(expected[index++], i);
  36. }
  37. }
  38. TEST_METHOD(ThreeStrings)
  39. {
  40. char json[] = "[\"1\",\"2\",\"3\"]";
  41. char* expected[] = {"1", "2", "3"};
  42. JsonParser<4> parser;
  43. JsonArray a = parser.parse(json);
  44. int index = 0;
  45. for (const char* i : a)
  46. {
  47. Assert::AreEqual(expected[index++], i);
  48. }
  49. }
  50. };
  51. }