diff --git a/test/JsonVariant_Undefined_Tests.cpp b/test/JsonVariant_Undefined_Tests.cpp new file mode 100644 index 00000000..2082025e --- /dev/null +++ b/test/JsonVariant_Undefined_Tests.cpp @@ -0,0 +1,75 @@ +// Copyright Benoit Blanchon 2014 +// MIT License +// +// Arduino JSON library +// https://github.com/bblanchon/ArduinoJson + +#include +#include +#include +#include "Printers.hpp" + +using namespace ArduinoJson; + +class JsonVariant_Undefined_Tests : public ::testing::Test { + protected: + JsonVariant variant; +}; + +TEST_F(JsonVariant_Undefined_Tests, SuccessReturnsFalse) { + EXPECT_FALSE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsLongReturns0) { + EXPECT_EQ(0, variant.as()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsStringReturnsNull) { + EXPECT_EQ(0, variant.asString()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsDoubleReturns0) { + EXPECT_EQ(0, variant.as()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsBoolReturnsFalse) { + EXPECT_FALSE(variant.as()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsArrayReturnInvalid) { + EXPECT_EQ(JsonArray::invalid(), variant.asArray()); +} + +TEST_F(JsonVariant_Undefined_Tests, AsObjectReturnInvalid) { + EXPECT_EQ(JsonObject::invalid(), variant.asObject()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToLong) { + variant = 0L; + EXPECT_TRUE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToDouble) { + variant = 0.0; + EXPECT_TRUE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToString) { + variant = static_cast(NULL); + EXPECT_TRUE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToBool) { + variant = false; + EXPECT_TRUE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToArray) { + variant = JsonArray::invalid(); + EXPECT_TRUE(variant.success()); +} + +TEST_F(JsonVariant_Undefined_Tests, CanBeSetToObject) { + variant = JsonObject::invalid(); + EXPECT_TRUE(variant.success()); +}