// ArduinoJson - arduinojson.org // Copyright Benoit Blanchon 2014-2018 // MIT License #include #include using namespace ARDUINOJSON_NAMESPACE; TEST_CASE("Polyfills/type_traits") { SECTION("is_base_of") { REQUIRE_FALSE( static_cast(is_base_of::value)); REQUIRE( static_cast(is_base_of::value)); REQUIRE(static_cast( is_base_of >, JsonObjectSubscript >::value)); } SECTION("is_array") { REQUIRE_FALSE((is_array::value)); REQUIRE((is_array::value)); REQUIRE((is_array::value)); } SECTION("is_const") { CHECK(is_const::value == false); CHECK(is_const::value == true); } SECTION("is_signed") { CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == true); CHECK(is_signed::value == false); } SECTION("is_unsigned") { CHECK(is_unsigned::value == true); CHECK(is_unsigned::value == true); CHECK(is_unsigned::value == true); CHECK(is_unsigned::value == true); CHECK(is_unsigned::value == true); CHECK(is_unsigned::value == false); CHECK(is_unsigned::value == false); CHECK(is_unsigned::value == false); } SECTION("IsVisitable") { CHECK(IsVisitable::value == false); CHECK(IsVisitable::value == false); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable >::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable::value == true); CHECK(IsVisitable >::value == true); } }