undefined.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2023
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonVariant undefined") {
  7. JsonVariant variant;
  8. SECTION("AsLongReturns0") {
  9. REQUIRE(0 == variant.as<long>());
  10. }
  11. SECTION("AsUnsignedReturns0") {
  12. REQUIRE(0 == variant.as<unsigned>());
  13. }
  14. SECTION("AsStringReturnsNull") {
  15. REQUIRE(0 == variant.as<char*>());
  16. }
  17. SECTION("AsDoubleReturns0") {
  18. REQUIRE(0 == variant.as<double>());
  19. }
  20. SECTION("AsBoolReturnsFalse") {
  21. REQUIRE(false == variant.as<bool>());
  22. }
  23. SECTION("AsArrayReturnInvalid") {
  24. REQUIRE(JsonArray::invalid() == variant.as<JsonArray&>());
  25. }
  26. SECTION("AsConstArrayReturnInvalid") {
  27. REQUIRE(JsonArray::invalid() == variant.as<const JsonArray&>());
  28. }
  29. SECTION("AsObjectReturnInvalid") {
  30. REQUIRE(JsonObject::invalid() == variant.as<JsonObject&>());
  31. }
  32. SECTION("AsConstObjectReturnInvalid") {
  33. REQUIRE(JsonObject::invalid() == variant.as<const JsonObject&>());
  34. }
  35. SECTION("AsArrayWrapperReturnInvalid") {
  36. REQUIRE(JsonArray::invalid() == variant.as<JsonArray>());
  37. }
  38. SECTION("AsObjectWrapperReturnInvalid") {
  39. REQUIRE(JsonObject::invalid() == variant.as<JsonObject>());
  40. }
  41. }