undefined.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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("JsonVariant undefined") {
  10. JsonVariant variant;
  11. SECTION("AsLongReturns0") {
  12. REQUIRE(0 == variant.as<long>());
  13. }
  14. SECTION("AsUnsignedReturns0") {
  15. REQUIRE(0 == variant.as<unsigned>());
  16. }
  17. SECTION("AsStringReturnsNull") {
  18. REQUIRE(0 == variant.as<char*>());
  19. }
  20. SECTION("AsDoubleReturns0") {
  21. REQUIRE(0 == variant.as<double>());
  22. }
  23. SECTION("AsBoolReturnsFalse") {
  24. REQUIRE(false == variant.as<bool>());
  25. }
  26. SECTION("AsArrayReturnInvalid") {
  27. REQUIRE(JsonArray::invalid() == variant.as<JsonArray&>());
  28. }
  29. SECTION("AsConstArrayReturnInvalid") {
  30. REQUIRE(JsonArray::invalid() == variant.as<const JsonArray&>());
  31. }
  32. SECTION("AsObjectReturnInvalid") {
  33. REQUIRE(JsonObject::invalid() == variant.as<JsonObject&>());
  34. }
  35. SECTION("AsConstObjectReturnInvalid") {
  36. REQUIRE(JsonObject::invalid() == variant.as<const JsonObject&>());
  37. }
  38. SECTION("AsArrayWrapperReturnInvalid") {
  39. REQUIRE(JsonArray::invalid() == variant.as<JsonArray>());
  40. }
  41. SECTION("AsObjectWrapperReturnInvalid") {
  42. REQUIRE(JsonObject::invalid() == variant.as<JsonObject>());
  43. }
  44. }