| 1175 | } |
| 1176 | |
| 1177 | static void CheckTranspose(const std::shared_ptr<Array>& input, |
| 1178 | const int32_t* transpose_map, |
| 1179 | const std::shared_ptr<DataType>& out_dict_type, |
| 1180 | const std::shared_ptr<Array>& out_dict, |
| 1181 | const std::shared_ptr<Array>& expected_indices) { |
| 1182 | ASSERT_OK_AND_ASSIGN(auto transposed, |
| 1183 | internal::checked_cast<const DictionaryArray&>(*input).Transpose( |
| 1184 | out_dict_type, out_dict, transpose_map)); |
| 1185 | ASSERT_OK(transposed->ValidateFull()); |
| 1186 | |
| 1187 | ASSERT_OK_AND_ASSIGN(auto expected, DictionaryArray::FromArrays( |
| 1188 | out_dict_type, expected_indices, out_dict)); |
| 1189 | AssertArraysEqual(*transposed, *expected); |
| 1190 | } |
| 1191 | |
| 1192 | TEST(TestDictionary, TransposeBasic) { |
| 1193 | auto dict = ArrayFromJSON(utf8(), "[\"A\", \"B\", \"C\"]"); |
no test coverage detected