Files
ArduinoJson/test/JsonVariant/undefined.cpp

58 lines
1.3 KiB
C++
Raw Normal View History

// Copyright Benoit Blanchon 2014-2017
2014-11-04 13:07:14 +01:00
// MIT License
//
// Arduino JSON library
2017-03-25 22:05:06 +01:00
// https://bblanchon.github.io/ArduinoJson/
// If you like this project, please add a star!
2014-11-04 13:07:14 +01:00
#include <ArduinoJson.h>
#include <catch.hpp>
2014-11-04 13:07:14 +01:00
TEST_CASE("JsonVariant undefined") {
2014-11-04 13:07:14 +01:00
JsonVariant variant;
SECTION("AsLongReturns0") {
REQUIRE(0 == variant.as<long>());
}
2014-11-04 13:07:14 +01:00
SECTION("AsUnsignedReturns0") {
REQUIRE(0 == variant.as<unsigned>());
}
SECTION("AsStringReturnsNull") {
REQUIRE(0 == variant.as<char*>());
}
2014-11-04 13:07:14 +01:00
SECTION("AsDoubleReturns0") {
REQUIRE(0 == variant.as<double>());
}
2014-11-04 13:07:14 +01:00
SECTION("AsBoolReturnsFalse") {
REQUIRE(false == variant.as<bool>());
}
2014-11-04 13:07:14 +01:00
SECTION("AsArrayReturnInvalid") {
REQUIRE(JsonArray::invalid() == variant.as<JsonArray&>());
}
SECTION("AsConstArrayReturnInvalid") {
REQUIRE(JsonArray::invalid() == variant.as<const JsonArray&>());
}
2014-11-04 13:07:14 +01:00
SECTION("AsObjectReturnInvalid") {
REQUIRE(JsonObject::invalid() == variant.as<JsonObject&>());
}
SECTION("AsConstObjectReturnInvalid") {
REQUIRE(JsonObject::invalid() == variant.as<const JsonObject&>());
}
SECTION("AsArrayWrapperReturnInvalid") {
REQUIRE(JsonArray::invalid() == variant.as<JsonArray>());
}
SECTION("AsObjectWrapperReturnInvalid") {
REQUIRE(JsonObject::invalid() == variant.as<JsonObject>());
}
2014-11-04 13:07:14 +01:00
}