// Copyright Benoit Blanchon 2014-2017 // MIT License // // Arduino JSON library // https://bblanchon.github.io/ArduinoJson/ // If you like this project, please add a star! #include #include void checkIsArray(JsonVariant var) { REQUIRE(var.is()); REQUIRE(var.is()); REQUIRE(var.is()); REQUIRE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); } void checkIsBool(JsonVariant var) { REQUIRE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); } void checkIsFloat(JsonVariant var) { REQUIRE(var.is()); REQUIRE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); } void checkIsInteger(JsonVariant var) { REQUIRE(var.is()); REQUIRE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); } void checkIsString(JsonVariant var) { REQUIRE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); REQUIRE_FALSE(var.is()); } TEST_CASE("JsonVariant::is()") { DynamicJsonBuffer jsonBuffer; SECTION("JsonArray") { checkIsArray(jsonBuffer.createArray()); } SECTION("bool") { checkIsBool(true); checkIsBool(false); } SECTION("double") { checkIsFloat(4.2); } SECTION("int") { checkIsInteger(42); } SECTION("long") { checkIsInteger(42L); } SECTION("string") { checkIsString("42"); } SECTION("unparsed bool") { checkIsBool(RawJson("true")); checkIsBool(RawJson("false")); } SECTION("unparsed int") { checkIsInteger(RawJson("42")); } SECTION("unparsed float") { checkIsFloat(RawJson("4.2e-10")); } SECTION("unparsed null") { checkIsString(RawJson("null")); } }