diff options
Diffstat (limited to 'test/redfish-core/include/utils/stl_utils_test.cpp')
-rw-r--r-- | test/redfish-core/include/utils/stl_utils_test.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/redfish-core/include/utils/stl_utils_test.cpp b/test/redfish-core/include/utils/stl_utils_test.cpp new file mode 100644 index 0000000000..f1febd088d --- /dev/null +++ b/test/redfish-core/include/utils/stl_utils_test.cpp @@ -0,0 +1,34 @@ +#include "utils/stl_utils.hpp" + +#include <string> + +#include <gmock/gmock.h> // IWYU pragma: keep +#include <gtest/gtest.h> // IWYU pragma: keep + +// IWYU pragma: no_include <gtest/gtest-message.h> +// IWYU pragma: no_include <gtest/gtest-test-part.h> +// IWYU pragma: no_include "gtest/gtest_pred_impl.h" + +namespace redfish::stl_utils +{ +namespace +{ +using ::testing::ElementsAre; + +TEST(FirstDuplicate, ReturnsIteratorToFirstDuplicate) +{ + std::vector<std::string> strVec = {"s1", "s4", "s1", "s2", "", "s3", "s3"}; + auto iter = firstDuplicate(strVec.begin(), strVec.end()); + ASSERT_NE(iter, strVec.end()); + EXPECT_EQ(*iter, "s3"); +} + +TEST(RemoveDuplicates, AllDuplicatesAreRempvedInplace) +{ + std::vector<std::string> strVec = {"s1", "s4", "s1", "s2", "", "s3", "s3"}; + removeDuplicate(strVec); + + EXPECT_THAT(strVec, ElementsAre("s1", "s4", "s2", "", "s3")); +} +} // namespace +} // namespace redfish::stl_utils |