1
+ #include < trantor/utils/Date.h>
2
+ #include < gtest/gtest.h>
3
+ #include < trantor/utils/Funcs.h>
4
+ #include < iostream>
5
+ using namespace trantor ;
6
+ TEST (splitString, split_string)
7
+ {
8
+ std::string originString = " 1,2,3" ;
9
+ auto out = splitString (originString, " ," );
10
+ EXPECT_EQ (out.size (), 3 );
11
+ originString = " ,1,2,3" ;
12
+ out = splitString (originString, " ," );
13
+ EXPECT_EQ (out.size (), 4 );
14
+ EXPECT_TRUE (out[0 ].empty ());
15
+ originString = " ,1,2,3," ;
16
+ out = splitString (originString, " ," );
17
+ EXPECT_EQ (out.size (), 5 );
18
+ EXPECT_TRUE (out[0 ].empty ());
19
+ originString = " ,1,2,3," ;
20
+ out = splitString (originString, " :" );
21
+ EXPECT_EQ (out.size (), 1 );
22
+ originString = " trantor::splitString" ;
23
+ out = splitString (originString, " ::" );
24
+ EXPECT_EQ (out.size (), 2 );
25
+ EXPECT_STREQ (out[0 ].data (), " trantor" );
26
+ EXPECT_STREQ (out[1 ].data (), " splitString" );
27
+ originString = " trantor::::splitString" ;
28
+ out = splitString (originString, " ::" );
29
+ EXPECT_EQ (out.size (), 3 );
30
+ EXPECT_STREQ (out[0 ].data (), " trantor" );
31
+ EXPECT_STREQ (out[1 ].data (), " " );
32
+ EXPECT_STREQ (out[2 ].data (), " splitString" );
33
+ originString = " trantor:::splitString" ;
34
+ out = splitString (originString, " ::" );
35
+ EXPECT_EQ (out.size (), 2 );
36
+ EXPECT_STREQ (out[0 ].data (), " trantor" );
37
+ EXPECT_STREQ (out[1 ].data (), " :splitString" );
38
+ originString = " trantor:::splitString" ;
39
+ out = splitString (originString, " trantor:::splitString" );
40
+ EXPECT_EQ (out.size (), 2 );
41
+ EXPECT_STREQ (out[0 ].data (), " " );
42
+ EXPECT_STREQ (out[1 ].data (), " " );
43
+ }
44
+ int main (int argc, char **argv)
45
+ {
46
+ testing::InitGoogleTest (&argc, argv);
47
+ return RUN_ALL_TESTS ();
48
+ }
0 commit comments