8 std::vector<double>
test_data = {1.0, 2.0, 3.0, 1.0, 2.0, 3.0};
9 std::vector<int>
cyclic_data = {1, 2, 3, 1, 2, 3, 1, 2, 3};
13 {1.0, 2.0}, {2.0, 3.0}, {3.0, 4.0}, {1.0, 2.0}, {2.0, 3.0}};
37 auto size_chunks = size_strategy.
apply(single_element);
38 EXPECT_EQ(size_chunks.size(), 1);
39 EXPECT_EQ(size_chunks[0].size(), 1);
43 auto pred_chunks = pred_strategy.
apply(single_element);
44 EXPECT_EQ(pred_chunks.size(), 1);
45 EXPECT_EQ(pred_chunks[0].size(), 1);
61 auto vector_distance = [](
const std::vector<double>& a,
const std::vector<double>& b) {
63 for (
size_t i = 0; i < a.size(); ++i) {
64 sum += (a[i] - b[i]) * (a[i] - b[i]);
66 return std::sqrt(sum);
69 auto predicate = [vector_distance](
const std::vector<double>& vec) {
70 return vector_distance(vec, {0.0, 0.0}) > 2.0;
74 auto chunks = strategy.
apply(multi_dim_data);
76 EXPECT_GT(chunks.size(), 0);
77 for (
const auto& chunk : chunks) {
78 EXPECT_GT(chunk.size(), 0);
79 for (
const auto& vec : chunk) {
80 EXPECT_EQ(vec.size(), 2);