|
|
@@ -40,28 +40,37 @@ TEST(FluentStreamTest, MapCanAlterValues) {
|
|
|
EXPECT_THAT(s.collect(), Eq(expected));
|
|
|
}
|
|
|
|
|
|
-TEST(FluentStreamTest, NoOpFilterReturnOriginal) {
|
|
|
+TEST(FluentStreamTest, CanMapElementToBool) {
|
|
|
std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
- auto pass = [](int) { return true; };
|
|
|
- auto s = stream::make_stream(input) | pass;
|
|
|
+ std::vector<bool> expected{false, true, false, true, false};
|
|
|
+ auto even = [](int i) { return i % 2 == 0; };
|
|
|
+ auto s = stream::make_stream(input) | even;
|
|
|
|
|
|
- EXPECT_THAT(s.collect(), Eq(input));
|
|
|
+ EXPECT_THAT(s.collect(), Eq(expected));
|
|
|
}
|
|
|
|
|
|
TEST(FluentStreamTest, CanFilterOutElements) {
|
|
|
std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
std::vector<int> expected{2, 4};
|
|
|
auto even = [](int i) { return i % 2 == 0; };
|
|
|
- auto s = stream::make_stream(input) | even;
|
|
|
+ auto s = stream::make_stream(input) % even;
|
|
|
|
|
|
EXPECT_THAT(s.collect(), Eq(expected));
|
|
|
}
|
|
|
|
|
|
+TEST(FluentStreamTest, NoOpFilterReturnOriginal) {
|
|
|
+ std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
+ auto pass = [](int) { return true; };
|
|
|
+ auto s = stream::make_stream(input) % pass;
|
|
|
+
|
|
|
+ EXPECT_THAT(s.collect(), Eq(input));
|
|
|
+}
|
|
|
+
|
|
|
TEST(FluentStreamTest, AccumulateDefaultsToAdd) {
|
|
|
std::vector<int> input{1, 2, 3, 4, 5};
|
|
|
auto even = [](int i) { return i % 2 == 0; };
|
|
|
auto sum = [](int lhs, int rhs) { return lhs + rhs; };
|
|
|
- auto s = stream::make_stream(input) | even;
|
|
|
+ auto s = stream::make_stream(input) % even;
|
|
|
EXPECT_THAT(s > sum, Eq(6));
|
|
|
}
|
|
|
|