|
|
@@ -65,6 +65,22 @@ public:
|
|
|
TS_ASSERT_EQUALS(expected, o);
|
|
|
}
|
|
|
|
|
|
+ void test_singleton_stream() {
|
|
|
+ int_t value = 11;
|
|
|
+ auto even = [](int_t i) { return i%2==0; };
|
|
|
+ auto s = stream::make_stream(&value).filter( even );
|
|
|
+ TS_ASSERT(s.empty());
|
|
|
+ }
|
|
|
+
|
|
|
+ void test_stream_on_subrange() {
|
|
|
+ vec_t v{1, 2, 3, 4, 5};
|
|
|
+ vec_t expected{5, 7};
|
|
|
+ auto fmap = [](int_t i) { return 2*i+1; };
|
|
|
+ auto s = stream::make_stream(v.begin()+1, v.begin()+3).map( fmap );
|
|
|
+ vec_t o{s.begin(), s.end()};
|
|
|
+ TS_ASSERT_EQUALS(expected, o);
|
|
|
+ }
|
|
|
+
|
|
|
void test_filter_noop() {
|
|
|
vec_t v{1, 2, 3, 4, 5};
|
|
|
auto pass = [](int_t i) { return true; };
|