#include #include using namespace alsk::edsl; struct Pred { int n; bool operator()() { return --n; } }; struct Do { void operator()() { std::puts("Do"); } }; TEST_CASE("edsl::While") { auto aPred = makeOperand(); auto aDo = makeOperand(); auto e0 = while_(aPred).do_(aDo); using E0 = decltype(e0); using S0 = alsk::S; using L0 = alsk::L; SECTION("Construction") { REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); REQUIRE(std::is_same{}); } }