@@ -376,25 +376,18 @@ TYPED_TEST(GenericColumnTest, Swap) {
376376#endif
377377
378378TYPED_TEST (GenericColumnTest, ReserveAndCapacity) {
379- if constexpr (
380- // TODO(venemkov): test that ColumnType has Reserve() and Capacity() methods
381- is_one_of_v<typename TestFixture::ColumnType,
382- // Only types that support Reserve() and Capacity() methods
383- ColumnUInt8,
384- ColumnUInt16,
385- ColumnUInt32,
386- ColumnUInt64,
387- ColumnInt8,
388- ColumnInt16,
389- ColumnInt32,
390- ColumnInt64,
391- ColumnInt128,
392- ColumnFloat32,
393- ColumnFloat64,
394- ColumnDate,
395- ColumnDate32,
396- ColumnDateTime>) {
397-
379+ using column_type = typename TestFixture::ColumnType;
380+ auto [column0, values] = this ->MakeColumnWithValues (2 );
381+ auto values_copy = values;
382+ EXPECT_NO_THROW (column0->Reserve (0u ));
383+ EXPECT_EQ (2u , column0->Size ());
384+ EXPECT_TRUE (CompareRecursive (values, values_copy));
385+
386+ auto column1 = this ->MakeColumn ();
387+ column1->Reserve (10u );
388+ EXPECT_EQ (0u , column1->Size ());
389+
390+ if constexpr (has_method_Reserve_v<column_type> && has_method_Capacity_v<column_type>) {
398391 auto column = this ->MakeColumn ();
399392 EXPECT_EQ (0u , column->Capacity ());
400393 EXPECT_NO_THROW (column->Reserve (100u ));
@@ -408,24 +401,7 @@ TYPED_TEST(GenericColumnTest, ReserveAndCapacity) {
408401
409402
410403TYPED_TEST (GenericColumnTest, GetWritableData) {
411- if constexpr (
412- // TODO(venemkov): test that ColumnType has GetWritableData() method
413- is_one_of_v<typename TestFixture::ColumnType,
414- // Only types that support GetWritableData() method
415- ColumnUInt8,
416- ColumnUInt16,
417- ColumnUInt32,
418- ColumnUInt64,
419- ColumnInt8,
420- ColumnInt16,
421- ColumnInt32,
422- ColumnInt64,
423- ColumnInt128,
424- ColumnFloat32,
425- ColumnFloat64,
426- ColumnDate,
427- ColumnDate32,
428- ColumnDateTime>) {
404+ if constexpr (has_method_GetWritableData_v<typename TestFixture::ColumnType>) {
429405 auto [column, values] = this ->MakeColumnWithValues (111 );
430406 // Do conversion from time_t to internal representation, similar to what ColumnDate and ColumnDate32 do
431407 if constexpr (is_one_of_v<typename TestFixture::ColumnType,
0 commit comments