DeserializationError.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2018
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. void testStringification(DeserializationError error, std::string expected) {
  7. REQUIRE(error.c_str() == expected);
  8. }
  9. void testBoolification(DeserializationError error, bool expected) {
  10. CHECK(error == expected);
  11. }
  12. #define TEST_STRINGIFICATION(symbol) \
  13. testStringification(DeserializationError::symbol, #symbol)
  14. #define TEST_BOOLIFICATION(symbol, expected) \
  15. testBoolification(DeserializationError::symbol, expected)
  16. TEST_CASE("DeserializationError") {
  17. SECTION("c_str()") {
  18. TEST_STRINGIFICATION(Ok);
  19. TEST_STRINGIFICATION(TooDeep);
  20. TEST_STRINGIFICATION(NoMemory);
  21. TEST_STRINGIFICATION(InvalidInput);
  22. TEST_STRINGIFICATION(IncompleteInput);
  23. TEST_STRINGIFICATION(NotSupported);
  24. }
  25. SECTION("as boolean") {
  26. TEST_BOOLIFICATION(Ok, false);
  27. TEST_BOOLIFICATION(TooDeep, true);
  28. TEST_BOOLIFICATION(NoMemory, true);
  29. TEST_BOOLIFICATION(InvalidInput, true);
  30. TEST_BOOLIFICATION(IncompleteInput, true);
  31. TEST_BOOLIFICATION(NotSupported, true);
  32. }
  33. SECTION("ostream") {
  34. std::stringstream s;
  35. s << DeserializationError::InvalidInput;
  36. REQUIRE(s.str() == "InvalidInput");
  37. }
  38. }