|
1 | 1 | #include <clickhouse/columns/array.h>
|
| 2 | +#include <clickhouse/columns/tuple.h> |
2 | 3 | #include <clickhouse/columns/date.h>
|
3 | 4 | #include <clickhouse/columns/enum.h>
|
4 | 5 | #include <clickhouse/columns/factory.h>
|
@@ -218,7 +219,38 @@ TEST(ColumnsCase, ArrayAppend) {
|
218 | 219 | //ASSERT_EQ(col->As<ColumnUInt64>()->At(0), 1u);
|
219 | 220 | //ASSERT_EQ(col->As<ColumnUInt64>()->At(1), 3u);
|
220 | 221 | }
|
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 | +} |
222 | 254 | TEST(ColumnsCase, DateAppend) {
|
223 | 255 | auto col1 = std::make_shared<ColumnDate>();
|
224 | 256 | auto col2 = std::make_shared<ColumnDate>();
|
|
0 commit comments