diff options
author | Elliott Hughes <enh@google.com> | 2022-09-01 14:59:27 +0000 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2022-09-01 15:00:13 +0000 |
commit | a6661d2cf339b71de3e25f80fb927e029468c603 (patch) | |
tree | c0b1aac3621dd301e9fb7add9170d8879cc97cbe /Rx/v2/test/operators/sample.cpp | |
parent | de986f59e99bd585280a061f545150ee1268f012 (diff) | |
download | RxCpp-master.tar.gz |
Do not necromance this without going through the go/android-3p process
again.
Test: treehugger
Change-Id: Id813d74d7d2597e0636b925430117c94bea3fa5a
Diffstat (limited to 'Rx/v2/test/operators/sample.cpp')
-rw-r--r-- | Rx/v2/test/operators/sample.cpp | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/Rx/v2/test/operators/sample.cpp b/Rx/v2/test/operators/sample.cpp deleted file mode 100644 index 7c49ac3..0000000 --- a/Rx/v2/test/operators/sample.cpp +++ /dev/null @@ -1,159 +0,0 @@ -#include "../test.h" -#include "rxcpp/operators/rx-sample_time.hpp" - -SCENARIO("sample with time, error", "[sample_with_time][operators]"){ - GIVEN("1 hot observable of ints."){ - auto sc = rxsc::make_test(); - auto so = rx::synchronize_in_one_worker(sc); - auto w = sc.create_worker(); - const rxsc::test::messages<int> on; - - std::runtime_error ex("sample_with_time on_error from source"); - - auto xs = sc.make_hot_observable({ - on.next(100, 1), - on.next(210, 2), - on.next(240, 3), - on.next(280, 4), - on.next(320, 5), - on.next(350, 6), - on.next(380, 7), - on.next(420, 8), - on.next(470, 9), - on.error(600, ex) - }); - WHEN("group ints on intersecting intervals"){ - using namespace std::chrono; - - auto res = w.start( - [&]() { - return xs - | rxo::sample_with_time(milliseconds(100), so) - | rxo::as_dynamic(); - } - ); - - THEN("the output contains groups of ints"){ - auto required = rxu::to_vector({ - on.next(301, 4), - on.next(401, 7), - on.next(501, 9), - on.error(601, ex) - }); - auto actual = res.get_observer().messages(); - REQUIRE(required == actual); - } - - THEN("there was one subscription and one unsubscription to the xs"){ - auto required = rxu::to_vector({ - on.subscribe(200, 600) - }); - auto actual = xs.subscriptions(); - REQUIRE(required == actual); - } - } - } -} - -SCENARIO("sample with time, disposed", "[sample_with_time][operators]"){ - GIVEN("1 hot observable of ints."){ - auto sc = rxsc::make_test(); - auto so = rx::synchronize_in_one_worker(sc); - auto w = sc.create_worker(); - const rxsc::test::messages<int> on; - - auto xs = sc.make_hot_observable({ - on.next(100, 1), - on.next(210, 2), - on.next(240, 3), - on.next(280, 4), // - on.next(320, 5), - on.next(350, 6), - on.next(380, 7), - on.next(420, 8), - on.next(470, 9), - on.completed(600) - }); - WHEN("group ints on intersecting intervals"){ - using namespace std::chrono; - - auto res = w.start( - [&]() { - return xs - .sample_with_time(milliseconds(100), so) - .as_dynamic(); - }, - 370 - ); - - THEN("the output contains groups of ints"){ - auto required = rxu::to_vector({ - on.next(301, 4), - }); - auto actual = res.get_observer().messages(); - REQUIRE(required == actual); - } - - THEN("there was one subscription and one unsubscription to the xs"){ - auto required = rxu::to_vector({ - on.subscribe(200, 371) - }); - auto actual = xs.subscriptions(); - REQUIRE(required == actual); - } - } - } -} - -SCENARIO("sample with time, same", "[sample_with_time][operators]"){ - GIVEN("1 hot observable of ints."){ - auto sc = rxsc::make_test(); - auto so = rx::synchronize_in_one_worker(sc); - auto w = sc.create_worker(); - const rxsc::test::messages<int> on; - const rxsc::test::messages<std::vector<int>> v_on; - - auto xs = sc.make_hot_observable({ - on.next(100, 1), - on.next(210, 2), - on.next(240, 3), - on.next(280, 4), - on.next(320, 5), - on.next(350, 6), - on.next(380, 7), - on.next(420, 8), - on.next(470, 9), - on.completed(600) - }); - WHEN("group ints on intervals"){ - using namespace std::chrono; - - auto res = w.start( - [&]() { - return xs - .sample_with_time(milliseconds(100), so) - .as_dynamic(); - } - ); - - THEN("the output contains groups of ints"){ - auto required = rxu::to_vector({ - on.next(301, 4), - on.next(401, 7), - on.next(501, 9), - on.completed(601) - }); - auto actual = res.get_observer().messages(); - REQUIRE(required == actual); - } - - THEN("there was one subscription and one unsubscription to the xs"){ - auto required = rxu::to_vector({ - on.subscribe(200, 600) - }); - auto actual = xs.subscriptions(); - REQUIRE(required == actual); - } - } - } -} |