Mercurial > hg > orthanc
diff OrthancFramework/UnitTestsSources/FrameworkTests.cpp @ 5373:123a94dd57df
Toolbox::SplitString
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 17 Aug 2023 17:25:08 +0200 |
parents | 303e930fff0f |
children | daf4807631c5 |
line wrap: on
line diff
--- a/OrthancFramework/UnitTestsSources/FrameworkTests.cpp Thu Aug 17 11:25:59 2023 +0200 +++ b/OrthancFramework/UnitTestsSources/FrameworkTests.cpp Thu Aug 17 17:25:08 2023 +0200 @@ -706,6 +706,82 @@ ASSERT_EQ("", t[3]); } +TEST(Toolbox, SplitString) +{ + { + std::set<std::string> result; + Toolbox::SplitString(result, "", ';'); + ASSERT_EQ(0u, result.size()); + } + + { + std::set<std::string> result; + Toolbox::SplitString(result, "a", ';'); + ASSERT_EQ(1u, result.size()); + ASSERT_TRUE(result.end() != result.find("a")); + } + + { + std::set<std::string> result; + Toolbox::SplitString(result, "a;b", ';'); + ASSERT_EQ(2u, result.size()); + ASSERT_TRUE(result.end() != result.find("a")); + ASSERT_TRUE(result.end() != result.find("b")); + } + + { + std::set<std::string> result; + Toolbox::SplitString(result, "a;b;", ';'); + ASSERT_EQ(2u, result.size()); + ASSERT_TRUE(result.end() != result.find("a")); + ASSERT_TRUE(result.end() != result.find("b")); + } + + { + std::set<std::string> result; + Toolbox::SplitString(result, "a;a", ';'); + ASSERT_EQ(1u, result.size()); + ASSERT_TRUE(result.end() != result.find("a")); + } + + { + std::vector<std::string> result; + Toolbox::SplitString(result, "", ';'); + ASSERT_EQ(0u, result.size()); + } + + { + std::vector<std::string> result; + Toolbox::SplitString(result, "a", ';'); + ASSERT_EQ(1u, result.size()); + ASSERT_EQ("a", result[0]); + } + + { + std::vector<std::string> result; + Toolbox::SplitString(result, "a;b", ';'); + ASSERT_EQ(2u, result.size()); + ASSERT_EQ("a", result[0]); + ASSERT_EQ("b", result[1]); + } + + { + std::vector<std::string> result; + Toolbox::SplitString(result, "a;b;", ';'); + ASSERT_EQ(2u, result.size()); + ASSERT_EQ("a", result[0]); + ASSERT_EQ("b", result[1]); + } + + { + std::vector<std::string> result; + Toolbox::TokenizeString(result, "a;a", ';'); + ASSERT_EQ(2u, result.size()); + ASSERT_EQ("a", result[0]); + ASSERT_EQ("a", result[1]); + } +} + TEST(Toolbox, Enumerations) { ASSERT_EQ(Encoding_Utf8, StringToEncoding(EnumerationToString(Encoding_Utf8)));