1 #include "rxcpp/rx.hpp"
2 
3 #include "rxcpp/rx-test.hpp"
4 #include "catch.hpp"
5 
6 SCENARIO("pairwise sample"){
7     printf("//! [pairwise sample]\n");
8     auto values = rxcpp::observable<>::range(1, 5).pairwise();
9     values.
10         subscribe(
__anon9c8e268c0102(std::tuple<int, int> v)11             [](std::tuple<int, int> v){printf("OnNext: %d, %d\n", std::get<0>(v), std::get<1>(v));},
__anon9c8e268c0202()12             [](){printf("OnCompleted\n");});
13     printf("//! [pairwise sample]\n");
14 }
15 
16 SCENARIO("pairwise short sample"){
17     printf("//! [pairwise short sample]\n");
18     auto values = rxcpp::observable<>::just(1).pairwise();
19     values.
20         subscribe(
__anon9c8e268c0302(std::tuple<int, int> v)21             [](std::tuple<int, int> v){printf("OnNext: %d, %d\n", std::get<0>(v), std::get<1>(v));},
__anon9c8e268c0402()22             [](){printf("OnCompleted\n");});
23     printf("//! [pairwise short sample]\n");
24 }
25 
26 //#include "main.hpp"
27 //
28 //SCENARIO("threaded flat_map sample"){
29 //    printf("//! [threaded flat_map sample]\n");
30 //    printf("[thread %s] Start task\n", get_pid().c_str());
31 //    auto values = rxcpp::observable<>::range(1, 3).
32 //        flat_map(
33 //            [](int v){
34 //                printf("[thread %s] Call CollectionSelector(v = %d)\n", get_pid().c_str(), v);
35 //                return
36 //                    rxcpp::observable<>::interval(std::chrono::steady_clock::now() + std::chrono::milliseconds(10 * v), std::chrono::milliseconds(50)).
37 //                    take(3);
38 //            },
39 //            [](int v_main, int v_sub){
40 //                printf("[thread %s] Call ResultSelector(v_main = %d, v_sub = %d)\n", get_pid().c_str(), v_main, v_sub);
41 //                return std::make_tuple(v_main, v_sub);
42 //            },
43 //            rxcpp::observe_on_new_thread());
44 //    values.
45 //        as_blocking().
46 //        subscribe(
47 //            [](std::tuple<int, long> v){printf("[thread %s] OnNext: %d - %d\n", get_pid().c_str(), std::get<0>(v), std::get<1>(v));},
48 //            [](){printf("[thread %s] OnCompleted\n", get_pid().c_str());});
49 //    printf("[thread %s] Finish task\n", get_pid().c_str());
50 //    printf("//! [threaded flat_map sample]\n");
51 //}
52