mirror of
https://github.com/Naios/continuable.git
synced 2025-12-06 16:56:44 +08:00
Add more remaining nested unit tests to the any strategy
This commit is contained in:
parent
c4cb102795
commit
1ce251483c
@ -151,7 +151,7 @@ struct continuable_dispatcher {
|
||||
template <typename Continuable,
|
||||
std::enable_if_t<base::is_continuable<
|
||||
std::decay_t<Continuable>>::value>* = nullptr>
|
||||
void operator()(Continuable&& continuable) const {
|
||||
void operator()(Continuable&& continuable) {
|
||||
// Retrieve a callback from the submitter and attach it to the continuable
|
||||
std::forward<Continuable>(continuable)
|
||||
.next(submitter->create_callback())
|
||||
|
||||
@ -176,13 +176,4 @@ int main(int, char**) {
|
||||
.then([](int) {
|
||||
|
||||
});
|
||||
|
||||
{
|
||||
container::flat_variant<int, float> var;
|
||||
|
||||
var = 1;
|
||||
var = 1.f;
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
}
|
||||
|
||||
@ -75,8 +75,8 @@ void test_all_seq_aggregate(Supplier&& supply, AggregateConnector&& ag) {
|
||||
}
|
||||
|
||||
{
|
||||
using type_t = decltype(
|
||||
std::declval<Supplier>()(std::declval<int>(), std::declval<int>()));
|
||||
using type_t = std::decay_t<decltype(
|
||||
std::declval<Supplier>()(std::declval<int>(), std::declval<int>()))>;
|
||||
|
||||
auto chain = ag(std::make_tuple(
|
||||
std::vector<type_t>{supply(1, 2), supply(3, 4), supply(5, 6)}));
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
SOFTWARE.
|
||||
**/
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
#include <test-continuable.hpp>
|
||||
|
||||
TYPED_TEST(single_dimension_tests, is_logical_any_connectable) {
|
||||
@ -57,6 +59,24 @@ TYPED_TEST(single_dimension_tests, is_logical_any_connectable) {
|
||||
ASSERT_ASYNC_TYPES(std::move(chain), tag1, tag2, tag3);
|
||||
}
|
||||
|
||||
{
|
||||
auto chain =
|
||||
cti::when_any(std::make_tuple(this->supply(1, 2),
|
||||
std::make_tuple(this->supply(3, 4))),
|
||||
this->supply(5, 6));
|
||||
EXPECT_ASYNC_RESULT(std::move(chain), 1, 2);
|
||||
}
|
||||
|
||||
{
|
||||
using type_t = std::decay_t<decltype(std::declval<TestFixture>().supply(
|
||||
std::declval<int>(), std::declval<int>()))>;
|
||||
|
||||
std::vector<type_t> v{this->supply(1, 2), this->supply(3, 4),
|
||||
this->supply(5, 6)};
|
||||
auto chain = cti::when_any(std::make_tuple(std::move(v)));
|
||||
EXPECT_ASYNC_RESULT(std::move(chain), 1, 2);
|
||||
}
|
||||
|
||||
{
|
||||
// Check the evaluation order
|
||||
unsigned i = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user