MCPcopy Create free account
hub / github.com/AimRT/AimRT / TestJoinVec

Function TestJoinVec

src/common/util/string_util_test.cc:855–909  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

853
854template <class StringType>
855void TestJoinVec() {
856 struct TestCase {
857 std::string name;
858
859 std::vector<StringType> vec;
860 std::string_view sep;
861
862 std::string want_result;
863 };
864 std::vector<TestCase> test_cases;
865
866 test_cases.emplace_back(
867 TestCase{
868 .name = "case 1",
869 .vec = {"v1", "v2", "v3", "v4"},
870 .sep = "|",
871 .want_result = "v1|v2|v3|v4"});
872 test_cases.emplace_back(
873 TestCase{
874 .name = "case 2",
875 .vec = {"v1", "v2", "v3", "v4"},
876 .sep = "",
877 .want_result = "v1v2v3v4"});
878 test_cases.emplace_back(
879 TestCase{
880 .name = "case 3",
881 .vec = {"", "", "", "v4"},
882 .sep = "",
883 .want_result = "v4"});
884 test_cases.emplace_back(
885 TestCase{
886 .name = "case 4",
887 .vec = {"", "", "", ""},
888 .sep = "",
889 .want_result = ""});
890 test_cases.emplace_back(
891 TestCase{
892 .name = "case 5",
893 .vec = {"", "", "", "v4"},
894 .sep = ",",
895 .want_result = ",,,v4"});
896 test_cases.emplace_back(
897 TestCase{
898 .name = "case 6",
899 .vec = {"", "v2", "", "v4"},
900 .sep = ",",
901 .want_result = ",v2,,v4"});
902
903 for (size_t ii = 0; ii < test_cases.size(); ++ii) {
904 TestCase& cur_test_case = test_cases[ii];
905 auto ret = JoinVec(cur_test_case.vec, cur_test_case.sep);
906 EXPECT_STREQ(ret.c_str(), cur_test_case.want_result.c_str())
907 << "Test " << cur_test_case.name << " failed, index " << ii;
908 }
909}
910
911TEST(STRING_UTIL_TEST, JoinVec_test) {
912 TestJoinVec<std::string>();

Callers

nothing calls this directly

Calls 1

JoinVecFunction · 0.85

Tested by

no test coverage detected