// ArduinoJson - https://arduinojson.org // Copyright © 2014-2024, Benoit BLANCHON // MIT License #include #include enum MYENUM2 { ONE = 1, TWO = 2 }; TEST_CASE("JsonVariant::is()") { JsonDocument doc; JsonVariant variant = doc.to(); SECTION("unbound") { variant = JsonVariant(); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("null") { CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("true") { variant.set(true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("false") { variant.set(false); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("int") { variant.set(42); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("double") { variant.set(4.2); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("const char*") { variant.set("4.2"); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("JsonArray") { variant.to(); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); } SECTION("JsonObject") { variant.to(); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == true); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == false); CHECK(variant.is() == true); CHECK(variant.is() == true); } }