From 62fd52f2c00656a068aa34f8d718135e2468ff7c Mon Sep 17 00:00:00 2001 From: Aleksey Loginov Date: Sat, 17 Feb 2024 16:16:39 +0300 Subject: [PATCH 1/2] Simpify disposables tests --- src/tests/utils/disposable_observable.hpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/tests/utils/disposable_observable.hpp b/src/tests/utils/disposable_observable.hpp index 009d096e0..d64e56b17 100644 --- a/src/tests/utils/disposable_observable.hpp +++ b/src/tests/utils/disposable_observable.hpp @@ -13,6 +13,7 @@ #include #include +#include #include template @@ -50,15 +51,17 @@ void test_operator_over_observable_with_disposable(auto&& op) SECTION("operator disposes disposable") { auto observable_disposable = rpp::composite_disposable_wrapper::make(); - { - auto observable = observable_with_disposable(observable_disposable); + std::optional> saved_observer{}; + auto observable = rpp::source::create([&observable_disposable, &saved_observer](auto&& obs) { + obs.set_upstream(observable_disposable); + saved_observer.emplace(std::forward(obs).as_dynamic()); + }); - auto observer_disposable = rpp::composite_disposable_wrapper::make(); - op(observable) | rpp::ops::subscribe(observer_disposable, [](const auto&) {}); + auto observer_disposable = rpp::composite_disposable_wrapper::make(); + op(observable) | rpp::ops::subscribe(observer_disposable, [](const auto&) {}); - observer_disposable.dispose(); - } - CHECK(observable_disposable.is_disposed() || observable_disposable.lock().use_count() == 2); + observer_disposable.dispose(); + CHECK(observable_disposable.is_disposed()); } SECTION("set_upstream with fixed_disposable_strategy_selector<1>") From 4bc22ce9bb99f992429b09f097b2a818cc67952b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 13:16:51 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/tests/utils/disposable_observable.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/utils/disposable_observable.hpp b/src/tests/utils/disposable_observable.hpp index d64e56b17..52fc47552 100644 --- a/src/tests/utils/disposable_observable.hpp +++ b/src/tests/utils/disposable_observable.hpp @@ -50,9 +50,9 @@ void test_operator_over_observable_with_disposable(auto&& op) { SECTION("operator disposes disposable") { - auto observable_disposable = rpp::composite_disposable_wrapper::make(); + auto observable_disposable = rpp::composite_disposable_wrapper::make(); std::optional> saved_observer{}; - auto observable = rpp::source::create([&observable_disposable, &saved_observer](auto&& obs) { + auto observable = rpp::source::create([&observable_disposable, &saved_observer](auto&& obs) { obs.set_upstream(observable_disposable); saved_observer.emplace(std::forward(obs).as_dynamic()); });