#include #include using namespace alsk::edsl; struct Do { void operator()() { std::puts("Do"); } }; struct Then { void operator()() { std::puts("Then"); } }; struct Done { void operator()() { std::puts("Done"); } }; TEST_CASE("edsl::Serial") { auto aDo = makeOperand(); auto aThen = makeOperand(); auto aDone = makeOperand(); using E0 = decltype(aDo & aThen); using E1 = decltype(aDo, aThen, aDone); using S0 = alsk::S; using S1 = alsk::S; using L0 = alsk::L; using L1 = alsk::L; SECTION("Construction") { REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); } SECTION("Setup") { } }