Skip to content

Commit 04d4092

Browse files
committed
Fixed Windows build, a bit more tests
1 parent f42fdb0 commit 04d4092

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

ut/Column_ut.cpp

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,10 @@ class GenericColumnTest : public testing::Test {
7070
return GenerateVector(values_size, FromVectorGenerator{MakeDecimals(3, 10)});
7171
} else if constexpr (std::is_same_v<ColumnType, ColumnUUID>) {
7272
return GenerateVector(values_size, FromVectorGenerator{MakeUUIDs()});
73-
} else if constexpr (std::is_integral_v<typename ColumnType::ValueType>
74-
|| std::is_floating_point_v<typename ColumnType::ValueType>) {
73+
} else if constexpr (std::is_integral_v<typename ColumnType::ValueType>) {
7574
// ColumnUIntX and ColumnIntX
75+
return GenerateVector<typename ColumnType::ValueType>(values_size, RandomGenerator<int>());
76+
} else if constexpr (std::is_floating_point_v<typename ColumnType::ValueType>) {
7677
// OR ColumnFloatX
7778
return GenerateVector<typename ColumnType::ValueType>(values_size, RandomGenerator<typename ColumnType::ValueType>());
7879
}
@@ -107,16 +108,35 @@ using ValueColumns = ::testing::Types<
107108
>;
108109
TYPED_TEST_SUITE(GenericColumnTest, ValueColumns);
109110

111+
TYPED_TEST(GenericColumnTest, Construct) {
112+
auto column = this->MakeColumn();
113+
ASSERT_EQ(0u, column->Size());
114+
}
110115

111116
TYPED_TEST(GenericColumnTest, EmptyColumn) {
112117
auto column = this->MakeColumn();
113118
ASSERT_EQ(0u, column->Size());
114119

120+
// verify that Column methods work as expected on empty column:
121+
// some throw exceptions, some return poper values (like CloneEmpty)
122+
115123
// Shouldn't be able to get items on empty column.
116124
ASSERT_ANY_THROW(column->At(0));
117125

118-
// TODO: verify that Column methods work as expected on empty column:
119-
// some throw exceptions, some return poper values (like CloneEmpty)
126+
{
127+
auto slice = column->Slice(0, 0);
128+
ASSERT_NO_THROW(slice->template AsStrict<typename TestFixture::ColumnType>());
129+
ASSERT_EQ(0u, slice->Size());
130+
}
131+
132+
{
133+
auto clone = column->CloneEmpty();
134+
ASSERT_NO_THROW(clone->template AsStrict<typename TestFixture::ColumnType>());
135+
ASSERT_EQ(0u, clone->Size());
136+
}
137+
138+
ASSERT_NO_THROW(column->Clear());
139+
ASSERT_NO_THROW(column->Swap(*this->MakeColumn()));
120140
}
121141

122142
TYPED_TEST(GenericColumnTest, Append) {

ut/value_generators.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ struct RandomGenerator {
8484
}
8585

8686
template <typename U>
87-
U operator()(U) {
88-
return static_cast<U>(distribution(random_engine));
87+
T operator()(U) {
88+
return distribution(random_engine);
8989
}
9090

9191
private:

0 commit comments

Comments
 (0)