forked from ClickHouse/ClickHouse
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgtest_split_name.cpp
More file actions
32 lines (28 loc) · 2.09 KB
/
Copy pathgtest_split_name.cpp
File metadata and controls
32 lines (28 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <DataTypes/NestedUtils.h>
#include <gtest/gtest.h>
using namespace DB;
TEST(SplitName, forward)
{
ASSERT_EQ(Nested::splitName(String("abc")), (std::pair<std::string, std::string>{"abc", ""}));
ASSERT_EQ(Nested::splitName(String("a.b")), (std::pair<std::string, std::string>{"a", "b"}));
ASSERT_EQ(Nested::splitName(String("a.b.c")), (std::pair<std::string, std::string>{"a", "b.c"}));
ASSERT_EQ(Nested::splitName(String("a.1")), (std::pair<std::string, std::string>{"a", "1"}));
ASSERT_EQ(Nested::splitName(String("a.1.b")), (std::pair<std::string, std::string>{"a", "1.b"}));
ASSERT_EQ(Nested::splitName(String("1.a")), (std::pair<std::string, std::string>{"1", "a"}));
ASSERT_EQ(Nested::splitName(String("a.b1.b2")), (std::pair<std::string, std::string>{"a", "b1.b2"}));
ASSERT_EQ(Nested::splitName(String("a.b1.2a.3a")), (std::pair<std::string, std::string>{"a", "b1.2a.3a"}));
ASSERT_EQ(Nested::splitName(String("..")), (std::pair<std::string, std::string>{"..", ""}));
}
TEST(SplitName, reverse)
{
ASSERT_EQ(Nested::splitName(String("abc"), true), (std::pair<std::string, std::string>{"abc", ""}));
ASSERT_EQ(Nested::splitName(String("a.b"), true), (std::pair<std::string, std::string>{"a", "b"}));
ASSERT_EQ(Nested::splitName(String("a.b.c"), true), (std::pair<std::string, std::string>{"a.b", "c"}));
ASSERT_EQ(Nested::splitName(String("a.1"), true), (std::pair<std::string, std::string>{"a", "1"}));
ASSERT_EQ(Nested::splitName(String("a.1a.b"), true), (std::pair<std::string, std::string>{"a.1a", "b"}));
ASSERT_EQ(Nested::splitName(String("1a.b"), true), (std::pair<std::string, std::string>{"1a", "b"}));
ASSERT_EQ(Nested::splitName(String("a.b1.b2"), true), (std::pair<std::string, std::string>{"a.b1", "b2"}));
ASSERT_EQ(Nested::splitName(String("a.b1.2a.3a"), true), (std::pair<std::string, std::string>{"a.b1.2a", "3a"}));
ASSERT_EQ(Nested::splitName(String("a.b1.b2.b3"), true), (std::pair<std::string, std::string>{"a.b1.b2", "b3"}));
ASSERT_EQ(Nested::splitName(String(".."), true), (std::pair<std::string, std::string>{"..", ""}));
}