ClickHouse

Форк
0
/
gtest_field.cpp 
56 строк · 1.4 Кб
1
#include <gtest/gtest.h>
2
#include <Core/Field.h>
3

4
using namespace DB;
5

6
GTEST_TEST(Field, FromBool)
7
{
8
    {
9
        Field f{false};
10
        ASSERT_EQ(f.getType(), Field::Types::Bool);
11
        ASSERT_EQ(f.get<UInt64>(), 0);
12
        ASSERT_EQ(f.get<bool>(), false);
13
    }
14

15
    {
16
        Field f{true};
17
        ASSERT_EQ(f.getType(), Field::Types::Bool);
18
        ASSERT_EQ(f.get<UInt64>(), 1);
19
        ASSERT_EQ(f.get<bool>(), true);
20
    }
21

22
    {
23
        Field f;
24
        f = false;
25
        ASSERT_EQ(f.getType(), Field::Types::Bool);
26
        ASSERT_EQ(f.get<UInt64>(), 0);
27
        ASSERT_EQ(f.get<bool>(), false);
28
    }
29

30
    {
31
        Field f;
32
        f = true;
33
        ASSERT_EQ(f.getType(), Field::Types::Bool);
34
        ASSERT_EQ(f.get<UInt64>(), 1);
35
        ASSERT_EQ(f.get<bool>(), true);
36
    }
37
}
38

39

40
GTEST_TEST(Field, Move)
41
{
42
    Field f;
43

44
    f = Field{String{"Hello, world (1)"}};
45
    ASSERT_EQ(f.get<String>(), "Hello, world (1)");
46
    f = Field{String{"Hello, world (2)"}};
47
    ASSERT_EQ(f.get<String>(), "Hello, world (2)");
48
    f = Field{Array{Field{String{"Hello, world (3)"}}}};
49
    ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (3)");
50
    f = String{"Hello, world (4)"};
51
    ASSERT_EQ(f.get<String>(), "Hello, world (4)");
52
    f = Array{Field{String{"Hello, world (5)"}}};
53
    ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (5)");
54
    f = Array{String{"Hello, world (6)"}};
55
    ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (6)");
56
}
57

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.