|
|
@@ -101,7 +101,7 @@ TEST(StreamTest, CanBuildFromSingleElement) {
|
|
|
auto even = [](int i) { return i % 2 == 0; };
|
|
|
auto s = views::single(value) | views::filter(even);
|
|
|
|
|
|
- EXPECT_THAT(std::distance(s.begin(), s.end()), 0);
|
|
|
+ EXPECT_THAT(ranges::size(s), 0);
|
|
|
}
|
|
|
|
|
|
TEST(StreamTest, CanBuildFromIterators) {
|
|
|
@@ -131,23 +131,23 @@ TEST(StreamTest, CanFilterOutElements) {
|
|
|
EXPECT_THAT(out, Eq(expected));
|
|
|
}
|
|
|
|
|
|
-// TEST(StreamTest, AccumulateDefaultsToAdd) {
|
|
|
-// std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
-// auto even = [](int i) { return i % 2 == 0; };
|
|
|
-// auto s = input | views::filter(even) | ranges::to_vector();
|
|
|
-//
|
|
|
-// EXPECT_THAT(s.accumulate(0), Eq(6));
|
|
|
-// }
|
|
|
-//
|
|
|
-// TEST(StreamTest, AccumulateCanTakeCustomAccumulator) {
|
|
|
-// std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
-// auto even = [](int i) { return i % 2 == 0; };
|
|
|
-// auto prod = [](int lhs, int rhs) { return lhs * rhs; };
|
|
|
-// auto s = input | views::filter(even) | ranges::to_vector();
|
|
|
-//
|
|
|
-// EXPECT_THAT(s.accumulate(prod, 0), Eq(0));
|
|
|
-// EXPECT_THAT(s.accumulate(prod, 1), Eq(8));
|
|
|
-// }
|
|
|
+TEST(StreamTest, AccumulateDefaultsToAdd) {
|
|
|
+ std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
+ auto even = [](int i) { return i % 2 == 0; };
|
|
|
+ auto s = input | views::filter(even) | ranges::to_vector();
|
|
|
+
|
|
|
+ EXPECT_THAT(ranges::fold_left(s, 0, std::plus<>()), Eq(6));
|
|
|
+}
|
|
|
+
|
|
|
+TEST(StreamTest, AccumulateCanTakeCustomAccumulator) {
|
|
|
+ std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
+ auto even = [](int i) { return i % 2 == 0; };
|
|
|
+ auto prod = [](int lhs, int rhs) { return lhs * rhs; };
|
|
|
+ auto s = input | views::filter(even) | ranges::to_vector();
|
|
|
+
|
|
|
+ EXPECT_THAT(ranges::fold_left(s, 0, prod), Eq(0));
|
|
|
+ EXPECT_THAT(ranges::fold_left(s, 1, prod), Eq(8));
|
|
|
+}
|
|
|
|
|
|
TEST(StreamTest, FlatmapJoinsIterableOutputs) {
|
|
|
std::vector<int> vv{1, 2, 3, 4, 5};
|