JsonVariant_Invalid_Tests.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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_Invalid_Tests : public ::testing::Test {
  10. public:
  11. JsonVariant_Invalid_Tests() : variant(JsonVariant::invalid()) {}
  12. protected:
  13. JsonVariant variant;
  14. };
  15. TEST_F(JsonVariant_Invalid_Tests, SuccessReturnsFalse) {
  16. EXPECT_FALSE(variant.success());
  17. }
  18. TEST_F(JsonVariant_Invalid_Tests, AsLongReturns0) {
  19. EXPECT_EQ(0, variant.as<long>());
  20. }
  21. TEST_F(JsonVariant_Invalid_Tests, AsStringReturnsNull) {
  22. EXPECT_EQ(0, variant.asString());
  23. }
  24. TEST_F(JsonVariant_Invalid_Tests, AsDoubleReturns0) {
  25. EXPECT_EQ(0, variant.as<double>());
  26. }
  27. TEST_F(JsonVariant_Invalid_Tests, AsBoolReturnsFalse) {
  28. EXPECT_FALSE(variant.as<bool>());
  29. }
  30. TEST_F(JsonVariant_Invalid_Tests, AsArrayReturnInvalid) {
  31. EXPECT_EQ(JsonArray::invalid(), variant.asArray());
  32. }
  33. TEST_F(JsonVariant_Invalid_Tests, AsObjectReturnInvalid) {
  34. EXPECT_EQ(JsonObject::invalid(), variant.asObject());
  35. }
  36. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToLong) {
  37. variant = 0L;
  38. EXPECT_FALSE(variant.success());
  39. }
  40. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToDouble) {
  41. variant = 0.0;
  42. EXPECT_FALSE(variant.success());
  43. }
  44. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToString) {
  45. variant = static_cast<const char*>(NULL);
  46. EXPECT_FALSE(variant.success());
  47. }
  48. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToBool) {
  49. variant = false;
  50. EXPECT_FALSE(variant.success());
  51. }
  52. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToArray) {
  53. variant = JsonArray::invalid();
  54. EXPECT_FALSE(variant.success());
  55. }
  56. TEST_F(JsonVariant_Invalid_Tests, CanNotBeSetToObject) {
  57. variant = JsonObject::invalid();
  58. EXPECT_FALSE(variant.success());
  59. }