|
@@ -33,7 +33,7 @@ public:
|
|
|
void test_map_identity() {
|
|
void test_map_identity() {
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
auto identity = [](int_t i) { return i; };
|
|
auto identity = [](int_t i) { return i; };
|
|
|
- auto s = stream::make_stream(v) | stream::map<int, int>( identity );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(v) | identity;
|
|
|
vec_t o{s.begin(), s.end()};
|
|
vec_t o{s.begin(), s.end()};
|
|
|
TS_ASSERT_EQUALS(v, o);
|
|
TS_ASSERT_EQUALS(v, o);
|
|
|
}
|
|
}
|
|
@@ -42,7 +42,7 @@ public:
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
vec_t expected{3, 5, 7, 9, 11};
|
|
vec_t expected{3, 5, 7, 9, 11};
|
|
|
auto fmap = [](int_t i) { return 2*i+1; };
|
|
auto fmap = [](int_t i) { return 2*i+1; };
|
|
|
- auto s = stream::make_stream(v) | stream::map<int, int>( fmap );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(v) | fmap;
|
|
|
vec_t o{s.begin(), s.end()};
|
|
vec_t o{s.begin(), s.end()};
|
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
|
}
|
|
}
|
|
@@ -50,7 +50,7 @@ public:
|
|
|
void test_filter_noop() {
|
|
void test_filter_noop() {
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
auto pass = [](int_t i) { return true; };
|
|
auto pass = [](int_t i) { return true; };
|
|
|
- auto s = stream::make_stream(v) | stream::filter<int>( pass );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(v) | pass;
|
|
|
vec_t o{s.begin(), s.end()};
|
|
vec_t o{s.begin(), s.end()};
|
|
|
TS_ASSERT_EQUALS(v, o);
|
|
TS_ASSERT_EQUALS(v, o);
|
|
|
}
|
|
}
|
|
@@ -59,7 +59,7 @@ public:
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
vec_t expected{2, 4};
|
|
vec_t expected{2, 4};
|
|
|
auto even = [](int_t i) { return i%2 == 0; };
|
|
auto even = [](int_t i) { return i%2 == 0; };
|
|
|
- auto s = stream::make_stream(v) | stream::filter<int>( even );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(v) | even;
|
|
|
vec_t o{s.begin(), s.end()};
|
|
vec_t o{s.begin(), s.end()};
|
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
|
}
|
|
}
|
|
@@ -68,15 +68,15 @@ public:
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
auto even = [](int_t i) { return i%2 == 0; };
|
|
auto even = [](int_t i) { return i%2 == 0; };
|
|
|
auto sum =[](int_t lhs, int_t rhs) { return lhs + rhs; };
|
|
auto sum =[](int_t lhs, int_t rhs) { return lhs + rhs; };
|
|
|
- auto s = stream::make_stream(v) | stream::filter<int>( even );
|
|
|
|
|
- TS_ASSERT_EQUALS( 6 , s > stream::fold_left<int>(sum) );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(v) | even;
|
|
|
|
|
+ TS_ASSERT_EQUALS( 6 , s > sum );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void test_flatmap_joins_lists() {
|
|
void test_flatmap_joins_lists() {
|
|
|
vec_t vv{1, 2, 3, 4, 5};
|
|
vec_t vv{1, 2, 3, 4, 5};
|
|
|
auto next3 = [](int_t i) { return vec_t{i, i+1, i+2}; };
|
|
auto next3 = [](int_t i) { return vec_t{i, i+1, i+2}; };
|
|
|
vec_t expected{1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7};
|
|
vec_t expected{1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7};
|
|
|
- auto s = stream::make_stream(vv) | stream::flatmap<int, vec_t>( next3 );
|
|
|
|
|
|
|
+ auto s = stream::make_stream(vv) || next3;
|
|
|
vec_t o{s.begin(), s.end()};
|
|
vec_t o{s.begin(), s.end()};
|
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
|
}
|
|
}
|