undefined.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2021
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonVariant undefined") {
  7. JsonVariant variant;
  8. SECTION("as<T>()") {
  9. SECTION("long") {
  10. REQUIRE(variant.as<long>() == 0);
  11. }
  12. SECTION("unsigned") {
  13. REQUIRE(variant.as<unsigned>() == 0);
  14. }
  15. SECTION("const char*") {
  16. REQUIRE(variant.as<const char*>() == 0);
  17. }
  18. SECTION("double") {
  19. REQUIRE(variant.as<double>() == 0);
  20. }
  21. SECTION("bool") {
  22. REQUIRE(variant.as<bool>() == false);
  23. }
  24. SECTION("JsonArray") {
  25. REQUIRE(variant.as<JsonArray>().isNull());
  26. }
  27. SECTION("JsonObject") {
  28. REQUIRE(variant.as<JsonObject>().isNull());
  29. }
  30. }
  31. SECTION("is<T>()") {
  32. SECTION("long") {
  33. REQUIRE(variant.is<long>() == false);
  34. }
  35. SECTION("unsigned") {
  36. REQUIRE(variant.is<unsigned>() == false);
  37. }
  38. SECTION("const char*") {
  39. REQUIRE(variant.is<const char*>() == false);
  40. }
  41. SECTION("double") {
  42. REQUIRE(variant.is<double>() == false);
  43. }
  44. SECTION("bool") {
  45. REQUIRE(variant.is<bool>() == false);
  46. }
  47. SECTION("JsonArray") {
  48. REQUIRE(variant.is<JsonArray>() == false);
  49. }
  50. SECTION("JsonObject") {
  51. REQUIRE(variant.is<JsonObject>() == false);
  52. }
  53. }
  54. SECTION("set<T>()") {
  55. SECTION("long") {
  56. REQUIRE(variant.set(42L) == false);
  57. }
  58. SECTION("unsigned") {
  59. REQUIRE(variant.set(42U) == false);
  60. }
  61. SECTION("const char*") {
  62. REQUIRE(variant.set("42") == false);
  63. }
  64. SECTION("Serialized<const char*>") {
  65. REQUIRE(variant.set(serialized("42")) == false);
  66. }
  67. SECTION("double") {
  68. REQUIRE(variant.set(42.0) == false);
  69. }
  70. SECTION("bool") {
  71. REQUIRE(variant.set(true) == false);
  72. }
  73. }
  74. }