Skip to content

Commit 2cbbeee

Browse files
committed
Add unit tests for slice and append for ColumnTuple
1 parent 70034a2 commit 2cbbeee

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

ut/columns_ut.cpp

Lines changed: 34 additions & 0 deletions
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>
@@ -219,6 +220,39 @@ TEST(ColumnsCase, ArrayAppend) {
219220
//ASSERT_EQ(col->As<ColumnUInt64>()->At(1), 3u);
220221
}
221222

223+
TEST(ColumnsCase, TupleAppend){
224+
auto tuple1 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
225+
std::make_shared<ColumnUInt64>(),
226+
std::make_shared<ColumnString>()
227+
}));
228+
auto tuple2 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
229+
std::make_shared<ColumnUInt64>(),
230+
std::make_shared<ColumnString>()
231+
}));
232+
(*tuple1)[0]->As<ColumnUInt64>()->Append(2u);
233+
(*tuple1)[1]->As<ColumnString>()->Append("2");
234+
tuple2->Append(tuple1);
235+
236+
ASSERT_EQ((*tuple2)[0]->As<ColumnUInt64>()->At(0), 2u);
237+
ASSERT_EQ((*tuple2)[1]->As<ColumnString>()->At(0), "2");
238+
}
239+
240+
TEST(ColumnsCase, TupleSlice){
241+
auto tuple1 = std::make_shared<ColumnTuple>(std::vector<ColumnRef>({
242+
std::make_shared<ColumnUInt64>(),
243+
std::make_shared<ColumnString>()
244+
}));
245+
246+
(*tuple1)[0]->As<ColumnUInt64>()->Append(2u);
247+
(*tuple1)[1]->As<ColumnString>()->Append("2");
248+
(*tuple1)[0]->As<ColumnUInt64>()->Append(3u);
249+
(*tuple1)[1]->As<ColumnString>()->Append("3");
250+
auto tuple2 = tuple1->Slice(1,1)->As<ColumnTuple>();
251+
252+
ASSERT_EQ((*tuple2)[0]->As<ColumnUInt64>()->At(0), 3u);
253+
ASSERT_EQ((*tuple2)[1]->As<ColumnString>()->At(0), "3");
254+
}
255+
222256
TEST(ColumnsCase, DateAppend) {
223257
auto col1 = std::make_shared<ColumnDate>();
224258
auto col2 = std::make_shared<ColumnDate>();

0 commit comments

Comments
 (0)