JsonVariant_Undefined_Tests.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // Copyright Benoit Blanchon 2014-2015
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://github.com/bblanchon/ArduinoJson
  6. #include <gtest/gtest.h>
  7. #include <ArduinoJson.h>
  8. #include "Printers.hpp"
  9. class JsonVariant_Undefined_Tests : public ::testing::Test {
  10. protected:
  11. JsonVariant variant;
  12. };
  13. TEST_F(JsonVariant_Undefined_Tests, SuccessReturnsFalse) {
  14. EXPECT_FALSE(variant.success());
  15. }
  16. TEST_F(JsonVariant_Undefined_Tests, AsLongReturns0) {
  17. EXPECT_EQ(0, variant.as<long>());
  18. }
  19. TEST_F(JsonVariant_Undefined_Tests, AsStringReturnsNull) {
  20. EXPECT_EQ(0, variant.asString());
  21. }
  22. TEST_F(JsonVariant_Undefined_Tests, AsDoubleReturns0) {
  23. EXPECT_EQ(0, variant.as<double>());
  24. }
  25. TEST_F(JsonVariant_Undefined_Tests, AsBoolReturnsFalse) {
  26. EXPECT_FALSE(variant.as<bool>());
  27. }
  28. TEST_F(JsonVariant_Undefined_Tests, AsArrayReturnInvalid) {
  29. EXPECT_EQ(JsonArray::invalid(), variant.asArray());
  30. }
  31. TEST_F(JsonVariant_Undefined_Tests, AsObjectReturnInvalid) {
  32. EXPECT_EQ(JsonObject::invalid(), variant.asObject());
  33. }
  34. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToLong) {
  35. variant = 0L;
  36. EXPECT_TRUE(variant.success());
  37. }
  38. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToDouble) {
  39. variant = 0.0;
  40. EXPECT_TRUE(variant.success());
  41. }
  42. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToString) {
  43. variant = static_cast<const char*>(NULL);
  44. EXPECT_TRUE(variant.success());
  45. }
  46. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToBool) {
  47. variant = false;
  48. EXPECT_TRUE(variant.success());
  49. }
  50. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToArray) {
  51. variant = JsonArray::invalid();
  52. EXPECT_TRUE(variant.success());
  53. }
  54. TEST_F(JsonVariant_Undefined_Tests, CanBeSetToObject) {
  55. variant = JsonObject::invalid();
  56. EXPECT_TRUE(variant.success());
  57. }