Skip to content

Commit 18733dd

Browse files
committed
Add unit tests for slice and append for ColumnTuple
1 parent be9d6c9 commit 18733dd

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

ut/columns_ut.cpp

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#include <clickhouse/columns/array.h>
2+
#include <clickhouse/columns/tuple.h>
23
#include <clickhouse/columns/date.h>
34
#include <clickhouse/columns/enum.h>
45
#include <clickhouse/columns/factory.h>
@@ -218,7 +219,38 @@ TEST(ColumnsCase, ArrayAppend) {
218219
//ASSERT_EQ(col->As<ColumnUInt64>()->At(0), 1u);
219220
//ASSERT_EQ(col->As<ColumnUInt64>()->At(1), 3u);
220221
}
221-
222+
TEST(ColumnsCase, TupleAppend){
223+
auto tuple1 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
224+
std::make_shared<ColumnUInt64>(),
225+
std::make_shared<ColumnString>()
226+
}));
227+
auto tuple2 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
228+
std::make_shared<ColumnUInt64>(),
229+
std::make_shared<ColumnString>()
230+
}));
231+
(*tuple1)[0]->As<ColumnUInt64>()->Append(2u);
232+
(*tuple1)[1]->As<ColumnString>()->Append("2");
233+
tuple2->Append(tuple1);
234+
235+
ASSERT_EQ((*tuple2)[0]->As<ColumnUInt64>()->At(0), 2u);
236+
ASSERT_EQ((*tuple2)[1]->As<ColumnString>()->At(0), "2");
237+
}
238+
239+
TEST(ColumnsCase, TupleSlice){
240+
auto tuple1 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
241+
std::make_shared<ColumnUInt64>(),
242+
std::make_shared<ColumnString>()
243+
}));
244+
245+
(*tuple1)[0]->As<ColumnUInt64>()->Append(2u);
246+
(*tuple1)[1]->As<ColumnString>()->Append("2");
247+
(*tuple1)[0]->As<ColumnUInt64>()->Append(3u);
248+
(*tuple1)[1]->As<ColumnString>()->Append("3");
249+
auto tuple2 = tuple1->Slice(1,1)->As<ColumnTuple>();
250+
251+
ASSERT_EQ((*tuple2)[0]->As<ColumnUInt64>()->At(0), 3u);
252+
ASSERT_EQ((*tuple2)[1]->As<ColumnString>()->At(0), "3");
253+
}
222254
TEST(ColumnsCase, DateAppend) {
223255
auto col1 = std::make_shared<ColumnDate>();
224256
auto col2 = std::make_shared<ColumnDate>();

0 commit comments

Comments
 (0)