ClickHouse
56 строк · 1.4 Кб
1#include <gtest/gtest.h>2#include <Core/Field.h>3
4using namespace DB;5
6GTEST_TEST(Field, FromBool)7{
8{9Field f{false};10ASSERT_EQ(f.getType(), Field::Types::Bool);11ASSERT_EQ(f.get<UInt64>(), 0);12ASSERT_EQ(f.get<bool>(), false);13}14
15{16Field f{true};17ASSERT_EQ(f.getType(), Field::Types::Bool);18ASSERT_EQ(f.get<UInt64>(), 1);19ASSERT_EQ(f.get<bool>(), true);20}21
22{23Field f;24f = false;25ASSERT_EQ(f.getType(), Field::Types::Bool);26ASSERT_EQ(f.get<UInt64>(), 0);27ASSERT_EQ(f.get<bool>(), false);28}29
30{31Field f;32f = true;33ASSERT_EQ(f.getType(), Field::Types::Bool);34ASSERT_EQ(f.get<UInt64>(), 1);35ASSERT_EQ(f.get<bool>(), true);36}37}
38
39
40GTEST_TEST(Field, Move)41{
42Field f;43
44f = Field{String{"Hello, world (1)"}};45ASSERT_EQ(f.get<String>(), "Hello, world (1)");46f = Field{String{"Hello, world (2)"}};47ASSERT_EQ(f.get<String>(), "Hello, world (2)");48f = Field{Array{Field{String{"Hello, world (3)"}}}};49ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (3)");50f = String{"Hello, world (4)"};51ASSERT_EQ(f.get<String>(), "Hello, world (4)");52f = Array{Field{String{"Hello, world (5)"}}};53ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (5)");54f = Array{String{"Hello, world (6)"}};55ASSERT_EQ(f.get<Array>()[0].get<String>(), "Hello, world (6)");56}
57