| #include "helpers.hpp" | 
 | #include "utils/dbus_path_utils.hpp" | 
 |  | 
 | #include <sdbusplus/exception.hpp> | 
 |  | 
 | #include <gmock/gmock.h> | 
 |  | 
 | using namespace testing; | 
 | using sdbusplus::message::object_path; | 
 | using utils::pathAppend; | 
 |  | 
 | class TestPathAppend : | 
 |     public Test, | 
 |     public WithParamInterface<std::tuple<object_path, std::string, object_path>> | 
 | {}; | 
 |  | 
 | INSTANTIATE_TEST_SUITE_P( | 
 |     _, TestPathAppend, | 
 |     Values(std::make_tuple(object_path("/Base/Path"), "one", | 
 |                            object_path("/Base/Path/one")), | 
 |            std::make_tuple(object_path("/Base/Path"), "one/two", | 
 |                            object_path("/Base/Path/one/two")), | 
 |            std::make_tuple(object_path("/Base/Path"), "one/two/foobar", | 
 |                            object_path("/Base/Path/one/two/foobar")), | 
 |            std::make_tuple(object_path("/Base/Path/"), "one", | 
 |                            object_path("/Base/Path/one")), | 
 |            std::make_tuple(object_path("/Base/Path/"), "one/two", | 
 |                            object_path("/Base/Path/one/two")), | 
 |            std::make_tuple(object_path("/Base/Path/"), "one/two/foobar", | 
 |                            object_path("/Base/Path/one/two/foobar")), | 
 |            std::make_tuple(object_path("/Base/Path"), "", | 
 |                            object_path("/Base/Path/")))); | 
 |  | 
 | TEST_P(TestPathAppend, pathAppendsCorrectly) | 
 | { | 
 |     auto [basePath, extension, expectedPath] = GetParam(); | 
 |     EXPECT_EQ(pathAppend(basePath, extension), expectedPath); | 
 | } | 
 |  | 
 | class TestPathAppendFail : | 
 |     public Test, | 
 |     public WithParamInterface<std::tuple<object_path, std::string>> | 
 | {}; | 
 |  | 
 | INSTANTIATE_TEST_SUITE_P( | 
 |     _, TestPathAppendFail, | 
 |     Values(std::make_tuple(object_path("/Base/Path"), "/one"), | 
 |            std::make_tuple(object_path("/Base/Path"), "one/"), | 
 |            std::make_tuple(object_path("/Base/Path"), "one/two/"), | 
 |            std::make_tuple(object_path("/Base/Path"), "one//two"), | 
 |            std::make_tuple(object_path("/Base/Path"), "/"), | 
 |            std::make_tuple(object_path("/Base/Path"), "//"))); | 
 |  | 
 | TEST_P(TestPathAppendFail, pathAppendsCorrectly) | 
 | { | 
 |     auto [basePath, extension] = GetParam(); | 
 |     EXPECT_THROW(pathAppend(basePath, extension), | 
 |                  sdbusplus::exception::SdBusError); | 
 | } |