|
17 | 17 | * under the License. |
18 | 18 | */ |
19 | 19 |
|
20 | | -#include "iceberg/util/executor_util.h" |
21 | | - |
22 | 20 | #include <atomic> |
23 | 21 | #include <concepts> |
24 | 22 | #include <functional> |
|
37 | 35 | #include "iceberg/result.h" |
38 | 36 | #include "iceberg/test/executor.h" |
39 | 37 | #include "iceberg/test/matchers.h" |
| 38 | +#include "iceberg/util/executor_util_internal.h" |
40 | 39 |
|
41 | 40 | namespace iceberg { |
42 | 41 |
|
@@ -171,37 +170,6 @@ TEST(ParallelCollectTest, CollectsMultipleRanges) { |
171 | 170 | EXPECT_EQ(executor.submit_count(), 4); |
172 | 171 | } |
173 | 172 |
|
174 | | -namespace { |
175 | | -struct CustomValues { |
176 | | - std::vector<int> values; |
177 | | -}; |
178 | | -} // namespace |
179 | | - |
180 | | -template <> |
181 | | -struct ParallelReduce<CustomValues> { |
182 | | - using result_type = CustomValues; |
183 | | - |
184 | | - template <std::ranges::input_range Values> |
185 | | - static result_type Reduce(Values&& values) { |
186 | | - result_type result; |
187 | | - for (const auto& value : values) { |
188 | | - result.values.insert(result.values.end(), value.values.begin(), value.values.end()); |
189 | | - } |
190 | | - return result; |
191 | | - } |
192 | | -}; |
193 | | - |
194 | | -TEST(ParallelCollectTest, CollectsCustomContainer) { |
195 | | - std::vector<int> input = {1, 2, 3}; |
196 | | - |
197 | | - auto result = ParallelCollect(std::nullopt, input, [](int value) { |
198 | | - return Result<CustomValues>{CustomValues{{value, value * 10}}}; |
199 | | - }); |
200 | | - |
201 | | - EXPECT_THAT(result, IsOk()); |
202 | | - EXPECT_THAT(result->values, ElementsAre(1, 10, 2, 20, 3, 30)); |
203 | | -} |
204 | | - |
205 | 173 | TEST(ParallelCollectTest, PropagatesTaskErrors) { |
206 | 174 | std::vector<int> input = {1, 2, 3}; |
207 | 175 | std::atomic<int> calls = 0; |
|
0 commit comments