Skip to content

Commit fb91b7c

Browse files
committed
fixed FromVectorGenerator, fixed GenericColumnTest<ColumnFixedString>
1 parent b325846 commit fb91b7c

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

ut/Column_ut.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,18 @@ class GenericColumnTest : public testing::Test {
4040
static auto MakeColumn() {
4141
if constexpr (std::is_same_v<ColumnType, ColumnFixedString>) {
4242
return std::make_shared<ColumnFixedString>(12);
43-
} if constexpr (std::is_same_v<ColumnType, ColumnDateTime64>) {
43+
} else if constexpr (std::is_same_v<ColumnType, ColumnDateTime64>) {
4444
return std::make_shared<ColumnDateTime64>(3);
4545
} else {
4646
return std::make_shared<ColumnType>();
4747
}
4848
}
4949

5050
static auto GenerateValues(size_t values_size) {
51-
if constexpr (std::is_same_v<ColumnType, ColumnFixedString>
52-
|| std::is_same_v<ColumnType, ColumnString>) {
51+
if constexpr (std::is_same_v<ColumnType, ColumnString>) {
5352
return GenerateVector(values_size, FooBarGenerator);
53+
} else if constexpr (std::is_same_v<ColumnType, ColumnFixedString>) {
54+
return GenerateVector(values_size, FromVectorGenerator{MakeFixedStrings(12)});
5455
} else if constexpr (std::is_same_v<ColumnType, ColumnDate>) {
5556
return GenerateVector(values_size, FromVectorGenerator{MakeDates()});
5657
} else if constexpr (std::is_same_v<ColumnType, ColumnDateTime>) {

ut/columns_ut.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ TEST(ColumnsCase, NumericSlice) {
5959

6060

6161
TEST(ColumnsCase, FixedStringInit) {
62-
const auto column_data = MakeFixedStrings();
62+
const auto column_data = MakeFixedStrings(3);
6363
auto col = std::make_shared<ColumnFixedString>(3, column_data);
6464

6565
ASSERT_EQ(col->Size(), column_data.size());
@@ -76,7 +76,7 @@ TEST(ColumnsCase, FixedString_Append_SmallStrings) {
7676
// are padded with zeroes on insertion.
7777

7878
const size_t string_size = 7;
79-
const auto column_data = MakeFixedStrings();
79+
const auto column_data = MakeFixedStrings(3);
8080

8181
auto col = std::make_shared<ColumnFixedString>(string_size);
8282
size_t i = 0;

ut/value_generators.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@ std::vector<uint8_t> MakeBools() {
1717
{1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0};
1818
}
1919

20-
std::vector<std::string> MakeFixedStrings() {
21-
return std::vector<std::string>
20+
std::vector<std::string> MakeFixedStrings(size_t string_size) {
21+
std::vector<std::string> result
2222
{"aaa", "bbb", "ccc", "ddd"};
23+
24+
std::for_each(result.begin(), result.end(), [string_size](auto& value) {
25+
value.resize(string_size, '\0');
26+
});
27+
28+
return result;
2329
}
2430

2531
std::vector<std::string> MakeStrings() {

ut/value_generators.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ inline in6_addr MakeIPv6(uint8_t v10, uint8_t v11, uint8_t v12, uint8_t v13, uin
2929

3030
std::vector<uint32_t> MakeNumbers();
3131
std::vector<uint8_t> MakeBools();
32-
std::vector<std::string> MakeFixedStrings();
32+
std::vector<std::string> MakeFixedStrings(size_t string_size);
3333
std::vector<std::string> MakeStrings();
3434
std::vector<uint64_t> MakeUUIDs();
3535
std::vector<clickhouse::Int64> MakeDateTime64s(size_t scale, size_t values_size = 200);
@@ -108,7 +108,7 @@ struct FromVectorGenerator {
108108

109109
FromVectorGenerator(std::vector<T> data_)
110110
: data(std::move(data_)),
111-
random_generator(0, 0, data.size())
111+
random_generator(0, 0, data.size() - 1)
112112
{}
113113

114114
auto operator()(size_t pos) {

0 commit comments

Comments
 (0)