// ArduinoJson - https://arduinojson.org // Copyright © 2014-2022, Benoit BLANCHON // MIT License #include #include TEST_CASE("JsonObject::operator==()") { DynamicJsonDocument doc1(4096); JsonObject obj1 = doc1.to(); JsonObjectConst obj1c = obj1; DynamicJsonDocument doc2(4096); JsonObject obj2 = doc2.to(); JsonObjectConst obj2c = obj2; SECTION("should return false when objs differ") { obj1["hello"] = "coucou"; obj2["world"] = 1; REQUIRE_FALSE(obj1 == obj2); REQUIRE_FALSE(obj1c == obj2c); } SECTION("should return false when LHS has more elements") { obj1["hello"] = "coucou"; obj1["world"] = 666; obj2["hello"] = "coucou"; REQUIRE_FALSE(obj1 == obj2); REQUIRE_FALSE(obj1c == obj2c); } SECTION("should return false when RKS has more elements") { obj1["hello"] = "coucou"; obj2["hello"] = "coucou"; obj2["world"] = 666; REQUIRE_FALSE(obj1 == obj2); REQUIRE_FALSE(obj1c == obj2c); } SECTION("should return true when objs equal") { obj1["hello"] = "world"; obj1["anwser"] = 42; // insert in different order obj2["anwser"] = 42; obj2["hello"] = "world"; REQUIRE(obj1 == obj2); REQUIRE(obj1c == obj2c); } SECTION("should return false when RHS is null") { JsonObject null; REQUIRE_FALSE(obj1 == null); REQUIRE_FALSE(obj1c == null); } SECTION("should return false when LHS is null") { JsonObject null; REQUIRE_FALSE(null == obj2); REQUIRE_FALSE(null == obj2c); } }