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