X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Ftest_str_list.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Ftest_str_list.cc;h=30a3937c8ad9f5d2f1f9a060981cdfa6f53e09a9;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/test/test_str_list.cc b/src/ceph/src/test/test_str_list.cc new file mode 100644 index 0000000..30a3937 --- /dev/null +++ b/src/ceph/src/test/test_str_list.cc @@ -0,0 +1,54 @@ + +#include "include/types.h" +#include "include/str_list.h" + +#include +#include +#include + +#include "gtest/gtest.h" + + +const char *tests[][10] = { + { "foo,bar", "foo", "bar", 0 }, + { "foo", "foo", 0 }, + { "foo;bar", "foo", "bar", 0 }, + { "foo bar", "foo", "bar", 0 }, + { " foo bar", "foo", "bar", 0 }, + { " foo bar ", "foo", "bar", 0 }, + { "a,b,c", "a", "b", "c", 0 }, + { " a\tb\tc\t", "a", "b", "c", 0 }, + { "a, b, c", "a", "b", "c", 0 }, + { "a b c", "a", "b", "c", 0 }, + { "a=b=c", "a", "b", "c", 0 }, + { 0 }, +}; + +TEST(StrList, get_str_list) +{ + for (unsigned i=0; tests[i][0]; ++i) { + std::string src = tests[i][0]; + std::list expected; + for (unsigned j=1; tests[i][j]; ++j) + expected.push_back(tests[i][j]); + std::list actual; + get_str_list(src, actual); + std::cout << "'" << src << "' -> " << actual << std::endl; + ASSERT_EQ(actual, expected); + } +} + +TEST(StrList, get_str_vec) +{ + for (unsigned i=0; tests[i][0]; ++i) { + std::string src = tests[i][0]; + std::vector expected; + for (unsigned j=1; tests[i][j]; ++j) + expected.push_back(tests[i][j]); + std::vector actual; + get_str_vec (src, actual); + std::cout << "'" << src << "' -> " << actual << std::endl; + ASSERT_EQ(actual, expected); + } + +}